middleware property
Middleware
get
middleware
Middleware function for request handling
Implementation
Middleware get middleware {
return (Handler handler) {
return (Request request) async {
try {
// Extract token from Authorization header
final token = _extractToken(request);
Map<String, dynamic> authContext = {};
authContext['is_authenticated'] = false;
if (token != null) {
// Verify JWT token
final jwt = JWT.verify(token, secret: jwtSecret);
if (jwt != null) {
authContext['user'] = jwt.payload;
authContext['auth_token'] = token;
authContext['is_authenticated'] = true;
}
}
// Add auth context to request
final updatedRequest = request.change(context: authContext);
return await handler(updatedRequest);
} catch (e) {
// Error in authentication
final authContext = {
'is_authenticated': false,
'auth_error': e.toString(),
};
final updatedRequest = request.change(context: authContext);
return await handler(updatedRequest);
}
};
};
}