UsernamePasswordCredentialBuilder Class

public class UsernamePasswordCredentialBuilder
extends AadCredentialBuilderBase<UsernamePasswordCredentialBuilder>

Fluent credential builder for instantiating a UsernamePasswordCredential.

Username password authentication is a common type of authentication flow used by many applications and services, including Microsoft Entra ID. With username password authentication, users enter their username and password credentials to sign in to an application or service. The UsernamePasswordCredential authenticates a public client application and acquires a token using the user credentials that don't require 2FA/MFA (Multi-factored) authentication. For more information refer to the conceptual knowledge and configuration details.

Sample: Construct UsernamePasswordCredential

The following code sample demonstrates the creation of a UsernamePasswordCredential, using the UsernamePasswordCredentialBuilder to configure it. The clientId, username and password parameters are required to create UsernamePasswordCredential. 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("<your app client ID>")
     .username("<your username>")
     .password("<your password>")
     .build();

Constructor Summary

Constructor Description
UsernamePasswordCredentialBuilder()

Constructs an instance of UsernamePasswordCredentialBuilder.

Method Summary

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

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

UsernamePasswordCredentialBuilder additionallyAllowedTenants(List<String> additionallyAllowedTenants)

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

UsernamePasswordCredential build()

Creates a new UsernamePasswordCredential with the current configurations.

UsernamePasswordCredentialBuilder password(String password)

Sets the password of the user.

UsernamePasswordCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

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

UsernamePasswordCredentialBuilder username(String username)

Sets the username of the user.

Methods inherited from AadCredentialBuilderBase

Methods inherited from CredentialBuilderBase

Methods inherited from java.lang.Object

Constructor Details

UsernamePasswordCredentialBuilder

public UsernamePasswordCredentialBuilder()

Constructs an instance of UsernamePasswordCredentialBuilder.

Method Details

additionallyAllowedTenants

public UsernamePasswordCredentialBuilder 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:

UsernamePasswordCredentialBuilder.additionallyAllowedTenants(String[] additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - the additionally allowed tenants.

Returns:

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

additionallyAllowedTenants

public UsernamePasswordCredentialBuilder 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:

UsernamePasswordCredentialBuilder.additionallyAllowedTenants(List<String> additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - the additionally allowed tenants.

Returns:

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

build

public UsernamePasswordCredential build()

Creates a new UsernamePasswordCredential with the current configurations.

Returns:

a UsernamePasswordCredential with the current configurations.

password

public UsernamePasswordCredentialBuilder password(String password)

Sets the password of the user.

Parameters:

password - the password of the user

Returns:

the UserCredentialBuilder itself

tokenCachePersistenceOptions

public UsernamePasswordCredentialBuilder 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.

username

public UsernamePasswordCredentialBuilder username(String username)

Sets the username of the user.

Parameters:

username - the username of the user

Returns:

the UserCredentialBuilder itself

Applies to