Bibliothèque d’authentification Azure Active Directory

Avertissement

Ce contenu concerne l’ancien point de terminaison Azure AD v1.0. Utilisez la Plateforme d’identités Microsoft pour les nouveaux projets.

La bibliothèque d’authentification Azure Active Directory v1.0 (ADAL, Azure Active Directory Authentication Library) permet aux développeurs d’applications d’authentifier les utilisateurs dans une instance locale d’Active Directory (AD) ou dans le cloud, puis d’obtenir des jetons pour sécuriser les appels d’API. La bibliothèque ADAL facilite l’authentification pour les développeurs grâce à des fonctionnalités comme :

  • Un cache de jeton configurable qui stocke les jetons d’accès et les jetons d’actualisation
  • L’actualisation automatique des jetons lorsqu’un jeton d’accès expire et qu’un jeton d’actualisation est disponible
  • La prise en charge des appels de méthode asynchrones

Notes

Vous recherchez les bibliothèques Azure AD v2.0 ? Consultez le guide des bibliothèques MSAL.

Avertissement

La bibliothèque d'authentification Active Directory (ADAL) a été dépréciée. Veuillez utiliser la Bibliothèque d’authentification Microsoft (MSAL). Si vous avez des applications existantes qui utilisent ADAL, veillez à les migrer vers MSAL.

Bibliothèques clientes prises en charge par Microsoft

Plateforme Bibliothèque Téléchargement Code source Exemple Informations de référence
.NET Client, Windows Store, UWP, Xamarin iOS et Android ADAL .NET v3 NuGet GitHub Application de bureau
JavaScript ADAL.js GitHub GitHub Application à page unique
iOS, macOS ADAL GitHub GitHub Application iOS
Android ADAL Maven GitHub Application Android JavaDocs
Node.js ADAL npm GitHub Application web Node.js Référence
Java ADAL4J Maven GitHub Applications web Java Référence
Python ADAL GitHub GitHub Application Web Python Référence

Bibliothèques serveur prises en charge par Microsoft

Plateforme Bibliothèque Téléchargement Code source Exemple Informations de référence
.NET OWIN pour Azure AD NuGet GitHub Application MVC
.NET OWIN pour OpenIDConnect NuGet GitHub Application web
.NET OWIN pour WS-Federation NuGet GitHub Application Web MVC
.NET Extensions de protocole d’identité pour .NET 4.5 NuGet GitHub
.NET Gestionnaire JWT pour .NET 4.5 NuGet GitHub
Node.js Azure AD Passport npm GitHub API Web

Scénarios

Voici trois scénarios courants d’utilisation de la bibliothèque ADAL sur un client qui accède à une ressource distante :

Authentification des utilisateurs d’une application cliente native exécutée sur un appareil

Dans ce scénario, un développeur dispose d’une application mobile cliente ou de bureau qui doit accéder à une ressource distante, par exemple une API web. L’API web n’autorise pas les appels anonymes et doit être appelée dans le contexte d’un utilisateur authentifié. L’API web est préconfigurée de manière à approuver les jetons d’accès émis par un locataire Azure AD spécifique. Azure AD est préconfiguré pour émettre des jetons d’accès pour cette ressource. Pour appeler l’API web à partir du client, le développeur utilise la bibliothèque ADAL afin de faciliter l’authentification auprès d’Azure AD. La méthode d’utilisation de la bibliothèque ADAL la plus sûre consiste à faire en sorte qu’elle affiche l’interface utilisateur pour recueillir les informations d’identification de l’utilisateur (sous forme de fenêtre de navigateur).

La bibliothèque ADAL facilite l’authentification de l’utilisateur, l’obtention d’un jeton d’accès et d’un jeton d’actualisation à partir d’Azure AD, puis l’appel de l’API web à l’aide du jeton d’accès.

Pour voir un exemple de code qui illustre ce scénario en utilisant l’authentification auprès d’Azure AD, consultez la section Native Client WPF Application to Web API.

Authentification d’une application cliente confidentielle exécutée sur un serveur web

Dans ce scénario, un développeur a une application fonctionnant sur un serveur qui doit accéder à une ressource distante, par exemple une API web. L’API web n’autorisant pas les appels anonymes, elle doit être appelée à partir d’un service autorisé. L’API web est préconfigurée de manière à approuver les jetons d’accès émis par un locataire Azure AD spécifique. Azure AD est préconfiguré pour délivrer des jetons d’accès pour cette ressource à un service avec des informations d’identification client (ID client et secret). La bibliothèque ADAL facilite l’authentification du service auprès d’Azure AD en retournant un jeton d’accès qui peut être utilisé pour appeler l’API web. La bibliothèque ADAL gère également la durée de vie du jeton d'accès en le mettant en cache et en le renouvelant si nécessaire. Pour voir un exemple de code qui illustre ce scénario, consultez Daemon console Application to Web API.

Authentification d’une application cliente confidentielle exécutée sur un serveur, pour le compte d’un utilisateur

Dans ce scénario, un développeur a une application web fonctionnant sur un serveur qui doit accéder à une ressource distante, par exemple une API web. L’API web n’autorisant pas les appels anonymes, elle doit être appelée à partir d’un service autorisé pour le compte d’un utilisateur authentifié. L’API web est préconfigurée de manière à approuver les jetons d’accès émis par un locataire Microsoft Entra spécifique, et Microsoft Entra ID est préconfiguré pour délivrer des jetons d’accès pour cette ressource à un service avec des informations d’identification client. Une fois l’utilisateur authentifié dans l’application web, l’application peut obtenir de Microsoft Entra ID un code d’autorisation pour l’utilisateur. L’application web peut ensuite utiliser la Bibliothèque d’authentification Active Directory (ADAL) pour obtenir de Microsoft Entra ID un jeton d’accès et un jeton d’actualisation pour le compte de l’utilisateur en utilisant le code d’autorisation et les informations d’identification client associés à l’application. Une fois l'application web en possession du jeton d'accès, elle peut appeler l'API web jusqu’à expiration du jeton. Lorsque le jeton expire, l'application web peut utiliser la bibliothèque ADAL pour obtenir un nouveau jeton d'accès en utilisant le jeton d’actualisation reçu précédemment. Pour voir un exemple de code qui illustre ce scénario, consultez Native client to Web API to Web API.

Voir aussi