Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Comme expliqué dans MSAL pour Java scénarios, il existe de nombreuses façons d’acquérir un jeton. Certains nécessitent des interactions utilisateur via un navigateur web. Certains n’ont pas besoin d’interactions utilisateur.
En général, la façon d’acquérir un jeton est différente en fonction du type d’application - application cliente publique (bureau/mobile) ou d’une application cliente confidentielle (application web, API web, application démon comme un service Windows).
Conditions préalables
Avant d’acquérir des jetons avec MSAL4J, veillez à instancier une application cliente
Méthodes d’acquisition de jetons
Suivez les rubriques ci-dessous pour obtenir des explications détaillées sur l’utilisation du code MSAL4J pour chaque méthode d’acquisition de jeton.
Applications clientes publiques
- Acquérir des jetons de manière interactive avec le navigateur système
- Acquérir des jetons par code d’autorisation après avoir laissé l’utilisateur se connecter via l’URL de demande d’autorisation.
- Il est également possible d’obtenir un jeton avec un nom d’utilisateur et un mot de passe. (Ce flux a été déconseillé)
- Pour les applications s’exécutant sur des machines Windows et jointes à un domaine ou à Microsoft Entra ID, il est possible d’acquérir un jeton en mode silencieux, en tirant parti de l’authentification intégrée Windows (IWA).
- Enfin, pour les applications s’exécutant sur des appareils qui n’ont pas de navigateur web, il est possible d’acquérir un jeton via le flux de code de l’appareil, qui fournit à l’utilisateur une URL et un code. L’utilisateur se rend dans un navigateur web sur un autre appareil, saisit le code et se connecte, puis Microsoft Entra ID renvoie un jeton à l’appareil dépourvu de navigateur.
Applications clientes confidentielles
- Acquérir un jeton en tant qu’application elle-même à l’aidedes informations d’identification du client, et non pour un utilisateur. Par exemple, dans les applications qui traitent les utilisateurs par lots et non pas un utilisateur particulier, comme dans les outils de synchronisation.
- Dans le cas d’applications web ou d’API web appelant une autre API web en aval au nom de l’utilisateur, utilisez le flux On-Behalf-Of pour obtenir un jeton à partir d’une assertion utilisateur (SAML, par exemple, ou un jeton JWT).
- Pour les applications web dans le nom d’un utilisateur, acquérir des jetons par code d’autorisation après avoir laissé l’utilisateur se connecter via l’URL de demande d’autorisation. Il s’agit généralement du mécanisme utilisé par une application qui permet à l’utilisateur de se connecter à l’aide d’OpenID Connect, mais souhaite ensuite accéder aux API web pour cet utilisateur particulier.
MSAL4J met en cache les jetons
Pour les applications clientes publiques et confidentielles, MSAL conserve un cache de jetons et les applications doivent essayer d’obtenir un jeton à partir du cache avant tout autre moyen (sauf dans le cas des informations d’identification du client, qui examine le cache lui-même). Examinez le modèle recommandé pour l’acquisition de jetons.
Pour pouvoir utiliser le cache, l’application doit personnaliser la sérialisation du cache de jetons.