Partager via


DeviceCodeCredential Classe

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

Implémente

public class DeviceCodeCredential
implements TokenCredential

L’authentification par code d’appareil est un type de flux d’authentification proposé par Azure Active Directory (Azure AD) qui permet aux utilisateurs de se connecter à des applications sur des appareils qui n’ont pas de navigateur web ou de clavier. Cette méthode d’authentification est particulièrement utile pour les appareils tels que les téléviseurs intelligents, les consoles de jeu et les appareils Internet des objets (IoT) qui n’ont peut-être pas la possibilité d’entrer un nom d’utilisateur et un mot de passe. Avec l’authentification par code d’appareil, l’utilisateur reçoit un code d’appareil sur l’appareil qui doit être authentifié. L’utilisateur accède ensuite à un navigateur web sur un appareil distinct et entre le code dans la page de connexion Microsoft. Une fois que l’utilisateur a entré le code, Azure AD le vérifie et invite l’utilisateur à se connecter avec ses informations d’identification, telles qu’un nom d’utilisateur et un mot de passe ou une méthode d’authentification multifacteur (MFA). L’authentification par code d’appareil peut être lancée à l’aide de différents protocoles pris en charge par Azure AD, tels que OAuth 2.0 et OpenID Connect, et elle peut être utilisée avec un large éventail d’applications intégrées à Azure AD. DeviceCodeCredential authentifie de manière interactive un utilisateur et acquiert un jeton sur les appareils avec une interface utilisateur limitée. Cette méthode invite l’utilisateur à visiter une URL de connexion sur un ordinateur compatible avec un navigateur lorsque l’application tente de s’authentifier. L’utilisateur entre ensuite le code d’appareil mentionné dans les instructions ainsi que ses informations de connexion. Une fois l’authentification réussie, l’application qui a demandé l’authentification est correctement authentifiée sur l’appareil sur lequel elle s’exécute. Pour plus d’informations, consultez la documentation sur l’authentification par code d’appareil.

Configuration requise :

Pour authentifier un utilisateur par le biais du flux de code d’appareil, procédez comme suit :

  1. Accédez à Azure Active Directory dans le portail Azure et recherchez votre inscription d’application.
  2. Faites défiler jusqu’à la section Authentification.
  3. Sous URI redirigés suggérés, case activée l’URI qui se termine par /common/oauth2/nativeclient.
  4. Sous Type de client par défaut, sélectionnez Oui pour Considérer l’application comme un client public.

Ces étapes permettent à l’application de s’authentifier, mais elle n’a toujours pas l’autorisation de vous connecter à Active Directory ou d’accéder à des ressources en votre nom. Pour résoudre ce problème, accédez à Autorisations d’API, puis activez Microsoft Graph et les ressources auxquelles vous souhaitez accéder, par exemple Management des services Azure, Key Vault, etc. Vous devez également être administrateur de votre locataire pour accorder votre consentement à votre application lorsque vous vous connectez pour la première fois. Si vous ne pouvez pas configurer l’option du flux de code d’appareil sur votre Active Directory, il peut être nécessaire que votre application soit mutualisée. Pour que votre application soit multi-locataire, accédez au panneau Authentification, puis sélectionnez Comptes dans n’importe quel annuaire d’organisation. Sélectionnez Oui pour Considérer l’application comme un client public.

Exemple : Construire DeviceCodeCredential

L’exemple de code suivant illustre la création d’un DeviceCodeCredential, à l’aide de pour le DeviceCodeCredentialBuilder configurer. Par défaut, les informations d’identification impriment la requête de code d’appareil sur la ligne de commande, pour remplacer que les comportements d’un challengeConsumer peuvent être spécifiés éventuellement sur le DeviceCodeCredentialBuilder. Une fois ces informations d’identification créées, elles peuvent être transmises au générateur de la plupart des générateurs du kit de développement logiciel (SDK) Azure pour les générateurs de clients Java en tant que paramètre « credential ».

TokenCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
     .build();

Résumé de la méthode

Modificateur et type Méthode et description
reactor.core.publisher.Mono<AuthenticationRecord> authenticate()

Authentifie un utilisateur via le flux de code de l’appareil.

reactor.core.publisher.Mono<AuthenticationRecord> authenticate(TokenRequestContext request)

Authentifie un utilisateur via le flux de code de l’appareil.

reactor.core.publisher.Mono<AccessToken> getToken(TokenRequestContext request)
AccessToken getTokenSync(TokenRequestContext request)

Méthodes héritées de java.lang.Object

Détails de la méthode

authenticate

public Mono authenticate()

Authentifie un utilisateur via le flux de code de l’appareil.

Les informations d’identification acquièrent une URL de vérification et du code à partir d’Azure Active Directory. L’utilisateur doit accéder à l’URL, entrer le code et s’authentifier auprès d’Azure Active Directory. Si l’utilisateur s’authentifie correctement, les informations d’identification reçoivent un jeton d’accès.

Returns:

AuthenticationRecord qui peut être utilisé pour authentifier silencieusement le compte lors d’une exécution ultérieure si la mise en cache persistante a été configurée via tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions) le moment où les informations d’identification ont été instanciées.

authenticate

public Mono authenticate(TokenRequestContext request)

Authentifie un utilisateur via le flux de code de l’appareil.

Les informations d’identification acquièrent une URL de vérification et du code à partir d’Azure Active Directory. L’utilisateur doit accéder à l’URL, entrer le code et s’authentifier auprès d’Azure Active Directory. Si l’utilisateur s’authentifie correctement, les informations d’identification reçoivent un jeton d’accès.

Parameters:

request - Détails de la demande d’authentification.

Returns:

AuthenticationRecord qui peut être utilisé pour authentifier silencieusement le compte lors d’une exécution ultérieure si la mise en cache persistante a été configurée via tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions) le moment où les informations d’identification ont été instanciées.

getToken

public Mono getToken(TokenRequestContext request)

Parameters:

request

getTokenSync

public AccessToken getTokenSync(TokenRequestContext request)

Parameters:

request

S’applique à