DeviceCodeCredentialBuilder Class

public class DeviceCodeCredentialBuilder
extends AadCredentialBuilderBase<DeviceCodeCredentialBuilder>

Fluent credential builder for instantiating a DeviceCodeCredential.

Constructor Summary

Constructor Description
DeviceCodeCredentialBuilder()

Method Summary

Modifier and Type Method and Description
DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

For multi-tenant applications, specifies additional tenants for which the credential may acquire tokens.

DeviceCodeCredentialBuilder additionallyAllowedTenants(List<String> additionallyAllowedTenants)

For multi-tenant applications, specifies additional tenants for which the credential may acquire tokens.

DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

Sets the AuthenticationRecord captured from a previous authentication.

DeviceCodeCredential build()

Creates a new DeviceCodeCredential with the current configurations.

DeviceCodeCredentialBuilder challengeConsumer(Consumer<DeviceCodeInfo> challengeConsumer)

Sets the consumer to meet the device code challenge.

DeviceCodeCredentialBuilder disableAutomaticAuthentication()

Disables the automatic authentication and prevents the DeviceCodeCredential from automatically prompting the user.

DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

Configures the persistent shared token cache options and enables the persistent token cache which is disabled by default.

Methods inherited from AadCredentialBuilderBase

Methods inherited from CredentialBuilderBase

Methods inherited from java.lang.Object

Constructor Details

DeviceCodeCredentialBuilder

public DeviceCodeCredentialBuilder()

Method Details

additionallyAllowedTenants

public DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

For multi-tenant applications, specifies additional tenants for which the credential may acquire tokens. Add the wildcard value "*" to allow the credential to acquire tokens for any tenant on which the application is installed. If no value is specified for TenantId this option will have no effect, and the credential will acquire tokens for any requested tenant.

Overrides:

DeviceCodeCredentialBuilder.additionallyAllowedTenants(String[] additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - the additionally allowed tenants.

Returns:

An updated instance of this builder with the additional tenants configured.

additionallyAllowedTenants

public DeviceCodeCredentialBuilder additionallyAllowedTenants(List additionallyAllowedTenants)

For multi-tenant applications, specifies additional tenants for which the credential may acquire tokens. Add the wildcard value "*" to allow the credential to acquire tokens for any tenant on which the application is installed. If no value is specified for TenantId this option will have no effect, and the credential will acquire tokens for any requested tenant.

Overrides:

DeviceCodeCredentialBuilder.additionallyAllowedTenants(List<String> additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - the additionally allowed tenants.

Returns:

An updated instance of this builder with the additional tenants configured.

authenticationRecord

public DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

Sets the AuthenticationRecord captured from a previous authentication.

Parameters:

authenticationRecord - the authentication record to be configured.

Returns:

An updated instance of this builder with the configured authentication record.

build

public DeviceCodeCredential build()

Creates a new DeviceCodeCredential with the current configurations.

Returns:

a DeviceCodeCredential with the current configurations.

challengeConsumer

public DeviceCodeCredentialBuilder challengeConsumer(Consumer challengeConsumer)

Sets the consumer to meet the device code challenge. If not specified a default consumer is used which prints the device code info message to stdout.

Parameters:

challengeConsumer - A method allowing the user to meet the device code challenge.

Returns:

the InteractiveBrowserCredentialBuilder itself

disableAutomaticAuthentication

public DeviceCodeCredentialBuilder disableAutomaticAuthentication()

Disables the automatic authentication and prevents the DeviceCodeCredential from automatically prompting the user. If automatic authentication is disabled a AuthenticationRequiredException will be thrown from getToken(TokenRequestContext request) in the case that user interaction is necessary. The application is responsible for handling this exception, and calling authenticate() or authenticate(TokenRequestContext request) to authenticate the user interactively.

Returns:

An updated instance of this builder with automatic authentication disabled.

tokenCachePersistenceOptions

public DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

Configures the persistent shared token cache options and enables the persistent token cache which is disabled by default. If configured, the credential will store tokens in a cache persisted to the machine, protected to the current user, which can be shared by other credentials and processes.

Parameters:

tokenCachePersistenceOptions - the token cache configuration options

Returns:

An updated instance of this builder with the token cache options configured.

Applies to