ChainedTokenCredential Class
- java.
lang. Object - com.
azure. identity. ChainedTokenCredential
- com.
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<Access |
getToken(TokenRequestContext request)
Sequentially calls TokenCredential#getToken(TokenRequestContext) on all the specified credentials, returning the first successfully obtained AccessToken. |
Access |
getTokenSync(TokenRequestContext request) |
Methods inherited from java.lang.Object
Method Details
getToken
public Mono
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:
Returns:
getTokenSync
public AccessToken getTokenSync(TokenRequestContext request)
Parameters: