Skip to content

Commit 7d89364

Browse files
docs(auth): explain untrusted JWT routing data
1 parent 5032ef0 commit 7d89364

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

‎aws_lambda_powertools/utilities/auth/jwt/verifier.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ def _header(self, token: str) -> dict[str, Any]:
279279
if not isinstance(token, str) or not token:
280280
raise InvalidTokenError()
281281
try:
282+
# The untrusted header only selects a trusted JWKS key; jwt.decode below verifies the same token.
282283
header = jwt.get_unverified_header(token)
283284
except (jwt.InvalidTokenError, ValueError, TypeError):
284285
raise InvalidTokenError() from None
@@ -328,8 +329,8 @@ def verify(self, token: str) -> dict[str, Any]:
328329
if not isinstance(token, str) or not token:
329330
raise InvalidTokenError()
330331
try:
331-
# This payload selects a configured verifier. No unverified claim
332-
# is returned to callers or used to discover another provider.
332+
# The untrusted issuer only selects a preconfigured verifier. The selected verifier
333+
# validates the same token's signature, issuer, audience, and claims below.
333334
payload = jwt.decode(token, options={"verify_signature": False})
334335
issuer = payload.get("iss")
335336
except (jwt.PyJWTError, ValueError, TypeError, RecursionError):

0 commit comments

Comments
 (0)