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.