DeviceCodeCredentialBuilder Clase
- java.
lang. Object - com.
azure. identity. CredentialBuilderBase<T> - com.
azure. identity. AadCredentialBuilderBase<T> - com.
azure. identity. DeviceCodeCredentialBuilder
- com.
- com.
- com.
public class DeviceCodeCredentialBuilder
extends AadCredentialBuilderBase<DeviceCodeCredentialBuilder>
Generador de credenciales de Fluent para crear instancias de .DeviceCodeCredential
La autenticación de código de dispositivo es un tipo de flujo de autenticación que ofrece Azure Active Directory (Azure AD) que permite a los usuarios iniciar sesión en aplicaciones en dispositivos que no tienen un explorador web o un teclado. Este método de autenticación es especialmente útil para dispositivos como televisores inteligentes, consolas de juegos e dispositivos de Internet de las cosas (IoT) que pueden no tener la capacidad de escribir un nombre de usuario y una contraseña. Con la autenticación de código de dispositivo, el usuario se presenta un código de dispositivo en el dispositivo que debe autenticarse. A continuación, el usuario navega a un explorador web en un dispositivo independiente y escribe el código en la página de inicio de sesión de Microsoft. Una vez que el usuario escribe el código, Azure AD lo comprueba y solicita al usuario que inicie sesión con sus credenciales, como un nombre de usuario y una contraseña o un método de autenticación multifactor (MFA). La autenticación de código de dispositivo se puede iniciar mediante varios protocolos compatibles con Azure AD, como OAuth 2.0 y OpenID Connect, y se puede usar con una amplia gama de aplicaciones integradas en Azure AD. DeviceCodeCredential autentica interactivamente a un usuario y adquiere un token en dispositivos con una interfaz de usuario limitada. Funciona solicitando al usuario que visite una dirección URL de inicio de sesión en una máquina habilitada para explorador cuando la aplicación intenta realizar la autenticación. Después, el usuario escribe el código de dispositivo mencionado en las instrucciones junto con sus credenciales de inicio de sesión. Tras una autenticación correcta, la aplicación que solicitó la autenticación se autentica correctamente en el dispositivo en el que se ejecuta. Para obtener más información, consulte los detalles de configuración y conocimientos conceptuales.
Estos pasos permitirán que la aplicación se autentique, pero todavía no tendrá permiso para iniciar sesión en Active Directory ni para acceder a los recursos en su nombre. Para solucionar este problema, vaya a API Permissions (Permisos de API) y habilite Microsoft Graph y los recursos a los que desea acceder, como administración de servicios de Azure, Key Vault, etc. También debe ser el administrador del inquilino para conceder el consentimiento a la aplicación al iniciar sesión por primera vez. Si no puede configurar la opción de flujo de código de dispositivo en Active Directory, puede que sea necesario que la aplicación sea multiinquilino. Para que la aplicación sea multiinquilino, vaya al panel Authentication (Autenticación) y, a continuación, seleccione Accounts in any organizational directory (Cuentas en cualquier directorio organizativo). En Treat application as a public client (Tratar la aplicación como un cliente público), seleccione Yes (Sí).
Ejemplo: Construir DeviceCodeCredential
En el ejemplo de código siguiente se muestra la creación de un DeviceCodeCredentialobjeto , utilizando para DeviceCodeCredentialBuilder configurarlo. De forma predeterminada, la credencial imprime el desafío de código del dispositivo en la línea de comandos para invalidar que un challengeConsumer
comportamiento se puede especificar opcionalmente en .DeviceCodeCredentialBuilder Una vez creada esta credencial, se puede pasar al generador de muchos de los generadores de cliente de Azure SDK para Java como parámetro "credential".
TokenCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
.build();
Resumen del constructor
Constructor | Description | |
---|---|---|
DeviceCodeCredentialBuilder() |
Resumen del método
Modificador y tipo | Método y descripción |
---|---|
Device |
additionallyAllowedTenants(String[] additionallyAllowedTenants)
Para las aplicaciones multiinquilino, especifica inquilinos adicionales para los que la credencial puede adquirir tokens. |
Device |
additionallyAllowedTenants(List<String> additionallyAllowedTenants)
Para las aplicaciones multiinquilino, especifica inquilinos adicionales para los que la credencial puede adquirir tokens. |
Device |
authenticationRecord(AuthenticationRecord authenticationRecord)
Establece el AuthenticationRecord objeto capturado a partir de una autenticación anterior. |
Device |
build()
Crea un nuevo DeviceCodeCredential con las configuraciones actuales. |
Device |
challengeConsumer(Consumer<DeviceCodeInfo> challengeConsumer)
Establece el consumidor para que cumpla el desafío del código del dispositivo. |
Device |
disableAutomaticAuthentication()
Deshabilita la autenticación automática e impide que se DeviceCodeCredential le pida automáticamente al usuario. |
Device |
tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)
Configura las opciones de caché de tokens compartidos persistentes y habilita la caché de tokens persistente que está deshabilitada de forma predeterminada. |
Métodos heredados de AadCredentialBuilderBase
Métodos heredados de CredentialBuilderBase
Métodos heredados de java.lang.Object
Detalles del constructor
DeviceCodeCredentialBuilder
public DeviceCodeCredentialBuilder()
Detalles del método
additionallyAllowedTenants
public DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)
Para las aplicaciones multiinquilino, especifica inquilinos adicionales para los que la credencial puede adquirir tokens. Agregue el valor comodín "*" para permitir que la credencial adquiera tokens para cualquier inquilino en el que esté instalada la aplicación. Si no se especifica ningún valor para TenantId, esta opción no tendrá ningún efecto y la credencial adquirirá tokens para cualquier inquilino solicitado.
Overrides:
DeviceCodeCredentialBuilder.additionallyAllowedTenants(String[] additionallyAllowedTenants)Parameters:
Returns:
additionallyAllowedTenants
public DeviceCodeCredentialBuilder additionallyAllowedTenants(List
Para las aplicaciones multiinquilino, especifica inquilinos adicionales para los que la credencial puede adquirir tokens. Agregue el valor comodín "*" para permitir que la credencial adquiera tokens para cualquier inquilino en el que esté instalada la aplicación. Si no se especifica ningún valor para TenantId, esta opción no tendrá ningún efecto y la credencial adquirirá tokens para cualquier inquilino solicitado.
Overrides:
DeviceCodeCredentialBuilder.additionallyAllowedTenants(List<String> additionallyAllowedTenants)Parameters:
Returns:
authenticationRecord
public DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)
Establece el AuthenticationRecord objeto capturado a partir de una autenticación anterior.
Parameters:
Returns:
build
public DeviceCodeCredential build()
Crea un nuevo DeviceCodeCredential con las configuraciones actuales.
Returns:
challengeConsumer
public DeviceCodeCredentialBuilder challengeConsumer(Consumer
Establece el consumidor para que cumpla el desafío del código del dispositivo. Si no se especifica un consumidor predeterminado, se usa que imprime el mensaje de información de código del dispositivo en stdout.
Parameters:
Returns:
disableAutomaticAuthentication
public DeviceCodeCredentialBuilder disableAutomaticAuthentication()
Deshabilita la autenticación automática e impide que se DeviceCodeCredential le pida automáticamente al usuario. Si la autenticación automática está deshabilitada, se producirá una AuthenticationRequiredException excepción getToken(TokenRequestContext request) en caso de que sea necesaria la interacción del usuario. La aplicación es responsable de controlar esta excepción y llamar authenticate() a o authenticate(TokenRequestContext request) autenticar al usuario de forma interactiva.
Returns:
tokenCachePersistenceOptions
public DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)
Configura las opciones de caché de tokens compartidos persistentes y habilita la caché de tokens persistente que está deshabilitada de forma predeterminada. Si se configura, la credencial almacenará tokens en una memoria caché almacenada en la máquina, protegida para el usuario actual, que se puede compartir con otras credenciales y procesos.
Parameters:
Returns: