ChainedTokenCredential Class

A sequence of credentials that is itself a credential.

Its get_token method calls get_token on each credential in the sequence, in order, returning the first valid token received.

Inheritance
azure.identity.aio._internal.AsyncContextManager
ChainedTokenCredential

Constructor

ChainedTokenCredential(*credentials: AsyncTokenCredential)

Parameters

Name Description
credentials
Required
<xref:azure.core.credentials.AsyncTokenCredential>

credential instances to form the chain

Examples

Create a ChainedTokenCredential.


   from azure.identity.aio import ChainedTokenCredential, EnvironmentCredential, AzureCliCredential

   credential_chain = (
       # Try EnvironmentCredential first
       EnvironmentCredential(),
       # Fallback to Azure CLI if EnvironmentCredential fails
       AzureCliCredential(),
   )
   credential = ChainedTokenCredential(*credential_chain)

Methods

close

Close the transport sessions of all credentials in the chain.

get_token

Asynchronously request a token from each credential, in order, returning the first token received.

If no credential provides a token, raises ClientAuthenticationError with an error message from each credential.

This method is called automatically by Azure SDK clients.

close

Close the transport sessions of all credentials in the chain.

async close() -> None

get_token

Asynchronously request a token from each credential, in order, returning the first token received.

If no credential provides a token, raises ClientAuthenticationError with an error message from each credential.

This method is called automatically by Azure SDK clients.

async get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Parameters

Name Description
scopes
Required
str

desired scopes for the access token. This method requires at least one scope. For more information about scopes, see https://learn.microsoft.com/entra/identity-platform/scopes-oidc.

Keyword-Only Parameters

Name Description
claims
str

additional claims required in the token, such as those returned in a resource provider's claims challenge following an authorization failure.

tenant_id
str

optional tenant to include in the token request.

Returns

Type Description

An access token with the desired scopes.

Exceptions

Type Description

no credential in the chain provided a token