basyx commited on
Commit
7bc5db1
·
verified ·
1 Parent(s): 9d64ecc

Report required scope in authorization failures

Browse files
Files changed (1) hide show
  1. app/security/middleware.py +3 -1
app/security/middleware.py CHANGED
@@ -52,6 +52,7 @@ class APIKeyAuthenticationMiddleware(BaseHTTPMiddleware):
52
  context_token = None
53
  http_auth_token = None
54
  response_code = 500
 
55
  bytes_uploaded = self._content_length(request.headers.get("content-length"))
56
  bytes_downloaded = 0
57
  try:
@@ -140,7 +141,8 @@ class APIKeyAuthenticationMiddleware(BaseHTTPMiddleware):
140
  )
141
  except ForbiddenError:
142
  response_code = 403
143
- response = self._error(403, "Forbidden", "Missing required scope.", request)
 
144
  bytes_downloaded = len(response.body)
145
  return response
146
  except RateLimitError as exc:
 
52
  context_token = None
53
  http_auth_token = None
54
  response_code = 500
55
+ required_scope: str | None = None
56
  bytes_uploaded = self._content_length(request.headers.get("content-length"))
57
  bytes_downloaded = 0
58
  try:
 
141
  )
142
  except ForbiddenError:
143
  response_code = 403
144
+ detail = f"Missing required scope: {required_scope}." if required_scope else "Workspace identity or membership authorization was denied."
145
+ response = self._error(403, "Forbidden", detail, request)
146
  bytes_downloaded = len(response.body)
147
  return response
148
  except RateLimitError as exc: