1212logger = get_module_logger ()
1313security = HTTPBearer ()
1414
15- logger .info ("issuer_config_loaded" , issuer_config = ISSUER_CONFIG )
16-
1715
1816class JWKSManager :
1917 """
@@ -36,15 +34,11 @@ def get_jwks_client(self, issuer: str) -> Optional[PyJWKClient]:
3634 Returns:
3735 Optional[PyJWKClient]: The JWKS client for the specified issuer, or None if not found.
3836 """
39- logger .info (
40- "get_jwks_client_called" , issuer = issuer , issuer_config = self .issuer_config
41- )
4237 if not self .issuer_config or issuer not in self .issuer_config :
4338 return None
4439 if issuer not in self .jwks_clients :
4540 try :
4641 cfg = self .issuer_config [issuer ]
47- logger .info ("creating_jwks_client" , jwks_uri = cfg .get ("jwks_uri" ))
4842 self .jwks_clients [issuer ] = PyJWKClient (
4943 cfg ["jwks_uri" ], cache_jwk_set = True , lifespan = 3600 , timeout = 10
5044 )
@@ -67,14 +61,8 @@ def get_issuer_from_token(token: str) -> Optional[str]:
6761 Returns:
6862 str | None: The issuer (iss) claim from the token if present, otherwise None.
6963 """
70-
71- logger .info ("get_issuer_from_token" , token = token )
7264 try :
7365 unverified_payload = decode (token , options = {"verify_signature" : False })
74- logger .info (
75- "unverified_payload" ,
76- unverified_payload = unverified_payload ,
77- )
7866 return unverified_payload .get ("iss" )
7967 except Exception :
8068 return None
@@ -101,7 +89,6 @@ def extract_user_info_from_token(token: str) -> Tuple[Optional[str], Optional[st
10189 # sub is always present
10290 if "sub" in payload :
10391 user_id = payload ["sub" ].split ("/" )[- 1 ]
104- logger .info ("user_info_extracted" , user_id = user_id , user_email = user_email )
10592
10693 return user_id , user_email
10794 except Exception as e :
@@ -125,39 +112,29 @@ async def validate_jwt_token(
125112 Raises:
126113 HTTPException: If the token is invalid, untrusted, or if any other error occurs during validation.
127114 """
128- logger .info (
129- "validate_jwt_token" ,
130- credentials = credentials ,
131- )
132115 if (
133116 credentials is None
134117 or not credentials .scheme == "Bearer"
135118 or not credentials .credentials
136119 ):
137120 raise HTTPException (status_code = 401 , detail = "Missing or invalid token" )
138121 token = credentials .credentials
139- logger .info ("token_received" , token = token )
140122 issuer = get_issuer_from_token (token )
141- logger .info ("issuer_extracted" , issuer = issuer )
142123 if not issuer :
143124 raise HTTPException (status_code = 401 , detail = "Issuer not found in token" )
144125 jwks_client = jwks_manager .get_jwks_client (issuer )
145- logger .info ("jwks_client_result" , jwks_client = bool (jwks_client ))
146126 if not jwks_client or not jwks_manager .issuer_config :
147127 raise HTTPException (status_code = 401 , detail = "Untrusted or missing token issuer" )
148128 cfg = jwks_manager .issuer_config [issuer ]
149- logger .info ("jwks_config_used" , cfg = cfg )
150129 try :
151130 signing_key = jwks_client .get_signing_key_from_jwt (token )
152- logger .info ("signing_key_obtained" , signing_key = str (signing_key ))
153131 payload = decode (
154132 token ,
155133 signing_key .key ,
156134 algorithms = cfg ["algorithms" ],
157135 audience = cfg ["audience" ],
158136 options = {"verify_exp" : True },
159137 )
160- logger .info ("jwt_token_validated" , payload = payload )
161138 return payload
162139 except (PyJWKClientError , PyJWTError ) as e :
163140 logger .warning ("jwt_validation_failed" , error = str (e ), issuer = issuer )
0 commit comments