Skip to content

Commit 75c8b76

Browse files
Additional logging
1 parent aea9d25 commit 75c8b76

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/service_ml_forecast/middlewares/keycloak_middleware.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class KeycloakTokenUserPayload(BaseModel):
6969
"""Partial payload of the JWT token for handling resource access."""
7070

7171
name: str
72+
preferred_username: str
7273
resource_access: dict[str, ResourceRoles]
7374

7475

@@ -300,6 +301,9 @@ async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -
300301

301302
# Check if the user has the required roles
302303
if not _has_required_roles(user_payload):
304+
logger.warning(
305+
f"Insufficient permissions: missing required roles for user: {user_payload.preferred_username}"
306+
)
303307
raise HTTPException(
304308
status_code=HTTPStatus.FORBIDDEN, detail="Insufficient permissions: missing required roles"
305309
)
@@ -322,5 +326,6 @@ async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -
322326
)
323327

324328
# Sucessful, allow request to continue through the middleware
329+
logger.info(f"Token verified successfully for user: {request.state.user.preferred_username}")
325330
response = await call_next(request)
326331
return response

0 commit comments

Comments
 (0)