@@ -69,13 +69,13 @@ def __init__(self, credentials_provider: CredentialsProvider, hostname: str,
6969 self .credentials_provider = credentials_provider
7070 self .hostname = hostname
7171 self .identity_federation_client_id = identity_federation_client_id
72- self .external_provider_headers = {}
72+ self .external_provider_headers : Dict [ str , str ] = {}
7373 self .token = None
74- self .token_endpoint = None
74+ self .token_endpoint : Optional [ str ] = None
7575 self .idp_endpoints = None
7676 self .openid_config = None
77- self .last_exchanged_token = None
78- self .last_external_token = None
77+ self .last_exchanged_token : Optional [ Token ] = None
78+ self .last_external_token : Optional [ str ] = None
7979
8080 def auth_type (self ) -> str :
8181 """Return the auth type from the underlying credentials provider."""
@@ -322,6 +322,10 @@ def _exchange_token(self, access_token: str, idp_type: str = "unknown") -> Token
322322 if not self .token_endpoint :
323323 self ._init_oidc_discovery ()
324324
325+ # Ensure token_endpoint is set
326+ if not self .token_endpoint :
327+ raise ValueError ("Token endpoint could not be determined" )
328+
325329 # Create request parameters
326330 params = dict (TOKEN_EXCHANGE_PARAMS )
327331 params ["subject_token" ] = access_token
0 commit comments