ChainedTokenCredential Class

  • java.lang.Object
    • com.azure.identity.ChainedTokenCredential

Implements

public class ChainedTokenCredential
implements TokenCredential

ChainedTokenCredential allows you to chain together a set of TokenCredential instances. Each credential in the chain is attempted sequentially. The token from the first credential that successfully authenticates is returned. For more information, see ChainedTokenCredential overview.

Sample: Construct a ChainedTokenCredential.

The following code sample demonstrates the creation of a ChainedTokenCredential, using the ChainedTokenCredentialBuilder to configure it. The sample below tries silent username+password login tried first, then interactive browser login as needed (e.g. when 2FA is turned on in the directory). Once this credential is created, it may be passed into the builder of many of the Azure SDK for Java client builders as the 'credential' parameter.

TokenCredential usernamePasswordCredential = new UsernamePasswordCredentialBuilder().clientId(clientId)
     .username(fakeUsernamePlaceholder)
     .password(fakePasswordPlaceholder)
     .build();
 TokenCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder().clientId(clientId)
     .port(8765)
     .build();
 TokenCredential credential = new ChainedTokenCredentialBuilder().addLast(usernamePasswordCredential)
     .addLast(interactiveBrowserCredential)
     .build();

Method Summary

Modifier and Type Method and Description
Mono<AccessToken> getToken(TokenRequestContext request)

Sequentially calls TokenCredential#getToken(TokenRequestContext) on all the specified credentials, returning the first successfully obtained AccessToken.

AccessToken getTokenSync(TokenRequestContext request)

Methods inherited from java.lang.Object

Method Details

getToken

public Mono getToken(TokenRequestContext request)

Sequentially calls TokenCredential#getToken(TokenRequestContext) on all the specified credentials, returning the first successfully obtained AccessToken. This method is called automatically by Azure SDK client libraries. You may call this method directly, but you must also handle token caching and token refreshing.

Parameters:

request - the details of the token request

Returns:

a Publisher that emits a single access token

getTokenSync

public AccessToken getTokenSync(TokenRequestContext request)

Parameters:

request

Applies to