Bibliothèques d’authentification de plateforme d’identité Microsoft

Les tableaux suivants présentent la prise en charge de la bibliothèque d’authentification Microsoft pour plusieurs types d’applications. Ils incluent des liens vers le code source de la bibliothèque, où se procurer le package du projet de votre application et si la bibliothèque prend en charge la connexion des utilisateurs (authentification), l’accès aux API web protégées (autorisation) ou les deux.

La plateforme d’identités Microsoft a été certifiée par OpenID Foundation en tant que fournisseur OpenID certifié. Si vous préférez utiliser une bibliothèque autre que la bibliothèque d’authentification Microsoft (MSAL) ou une autre bibliothèque prise en charge par Microsoft, choisissez-en une avec une implémentation OpenID Connect certifiée.

Si vous choisissez de coder manuellement votre propre implémentation de niveau protocole de OAuth 2.0 ou OpenID Connect 1.0, portez une attention particulière aux considérations de sécurité dans les spécifications de chaque standard et suivez les pratiques sécurisées de conception et de développement logiciel telles que celles de Microsoft SDL.

Application monopage (SPA)

Une application monopage s’exécute entièrement dans le navigateur et récupère les données de page (HTML, CSS et JavaScript) de manière dynamique ou au moment du chargement de l’application. Elle peut appeler des API web pour interagir avec des sources de données principales.

Étant donné que le code d’une application monopage s’exécute entièrement dans le navigateur, il est considéré comme un client public qui ne peut pas stocker les secrets de façon sécurisée.

Langage/framework Projet sur
GitHub
Package Bien démarrer
démarré
Connexion des utilisateurs Accès aux API web Disponibilité générale ou
Préversion publique1
Angular MSAL Angular v22 msal-angular Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Angular MSAL Angular3 msal-angular La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
AngularJS MSAL AngularJS3 msal-angularjs La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. Préversion publique
JavaScript MSAL.js v22 msal-browser Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
JavaScript MSAL.js 1.03 msal-core La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
React MSAL React2 msal-react Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA

1Les termes du contrat de licence universelle pour les services en ligne s’appliquent aux bibliothèques en préversion publique.

2Flux de code d’authentification avec PKCE uniquement (recommandé).

3Flux d’octroi implicite uniquement.

Application web

Une application web exécute du code sur un serveur qui génère et envoie du code HTML, CSS et JavaScript au navigateur web d’un utilisateur pour qu’il soit affiché. L’identité de l’utilisateur est conservée en tant que session entre le navigateur de l’utilisateur (front-end) et le serveur web (back-end).

Étant donné que le code d’une application web s’exécute sur le serveur web, il est considéré comme un client confidentiel qui peut stocker les secrets de façon sécurisée.

Langage/framework Projet sur
GitHub
Package Bien démarrer
démarré
Connexion des utilisateurs Accès aux API web Disponibilité générale ou
Préversion publique1
.NET MSAL.NET Microsoft.Identity.Client La bibliothèque ne peut pas demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
.NET Microsoft.IdentityModel Microsoft.IdentityModel Library cannot request ID tokens for user sign-in.2 Library cannot request access tokens for protected web APIs.2 GA
ASP.NET Core ASP.NET Core Microsoft.AspNetCore.Authentication Démarrage rapide La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque ne peut pas demander des jetons d’accès pour les API web protégées. GA
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Démarrage rapide La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Java MSAL4J msal4j Démarrage rapide La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Node.js MSAL Node msal-node Démarrage rapide La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Python MSAL Python msal La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Python identity identity Démarrage rapide La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. --

(1)Les termes du contrat de licence universelle pour les services en ligne s’appliquent aux bibliothèques en préversion publique.

(2) La bibliothèque Microsoft.IdentityModelvalide uniquement les jetons. Elle ne peut pas demander de jetons d’ID ni de jetons d’accès.

Application de bureau

Une application de bureau est généralement du code binaire (compilé) qui affiche une interface utilisateur et qui est conçu pour s’exécuter sur l’appareil de bureau d’un utilisateur.

Étant donné qu’une application de bureau s’exécute sur le Bureau de l’utilisateur, elle est considérée comme un client public qui ne peut pas stocker les secrets de façon sécurisée.

Langage/framework Projet sur
GitHub
Package Bien démarrer
démarré
Connexion des utilisateurs Accès aux API web Disponibilité générale ou
Préversion publique1
Electron MSAL Node.js msal-node La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. Préversion publique
Java MSAL4J msal4j La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
macOS (Swift/Obj-C) MSAL pour iOS et macOS MSAL Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
UWP MSAL.NET Microsoft.Identity.Client Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
WPF MSAL.NET Microsoft.Identity.Client Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA

1Les termes du contrat de licence universelle pour les services en ligne s’appliquent aux bibliothèques en préversion publique.

Application mobile

Une application mobile est généralement du code binaire (compilé) qui affiche une interface utilisateur et qui est conçu pour s’exécuter sur l’appareil mobile d’un utilisateur.

Étant donné qu’une application mobile s’exécute sur l’appareil mobile de l’utilisateur, elle est considérée comme un client public qui ne peut pas stocker les secrets de façon sécurisée.

Plateforme Projet sur
GitHub
Package Bien démarrer
démarré
Connexion des utilisateurs Accès aux API web Disponibilité générale ou
Préversion publique1
Android (Java) MSAL pour Android MSAL Démarrage rapide La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Android (Kotlin) MSAL pour Android MSAL La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
iOS (Swift/Obj-C) MSAL pour iOS et macOS MSAL Didacticiel La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client La bibliothèque peut demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA

1Les termes du contrat de licence universelle pour les services en ligne s’appliquent aux bibliothèques en préversion publique.

Service/démon

Les services et démons sont couramment utilisés pour la communication de serveur à serveur et d’autres communications sans assistance (parfois appelées sans périphérique de contrôle). Étant donné qu’il n’existe aucun utilisateur au clavier pour entrer des informations d’identification ou donner son consentement à l’accès aux ressources, ces applications s’authentifient en leur nom, et non en tant qu’utilisateur, lors de la demande d’un accès autorisé aux ressources d’une API web.

Un service ou un démon qui s’exécute sur un serveur est considéré comme un client confidentiel qui peut stocker ses secrets de façon sécurisée.

Langage/framework Projet sur
GitHub
Package Bien démarrer
démarré
Connexion des utilisateurs Accès aux API web Disponibilité générale ou
Préversion publique1
.NET MSAL.NET Microsoft.Identity.Client Démarrage rapide La bibliothèque ne peut pas demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Java MSAL4J msal4j La bibliothèque ne peut pas demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Nœud MSAL Node msal-node Démarrage rapide La bibliothèque ne peut pas demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA
Python MSAL Python msal-python Démarrage rapide La bibliothèque ne peut pas demander des jetons d’ID pour la connexion de l’utilisateur. La bibliothèque peut demander des jetons d’accès pour les API web protégées. GA

1Les termes du contrat de licence universelle pour les services en ligne s’appliquent aux bibliothèques en préversion publique.

Étapes suivantes

Pour plus d’informations sur la bibliothèque d’authentification Microsoft, reportez-vous à la vue d’ensemble de la bibliothèque d’authentification Microsoft (MSAL).