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 | Démarrage rapide | GA | ||
Angular | MSAL Angular3 | msal-angular | — | GA | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Préversion publique | ||
JavaScript | MSAL.js v22 | msal-browser | Didacticiel | GA | ||
JavaScript | MSAL.js 1.03 | msal-core | — | GA | ||
React | MSAL React2 | msal-react | Démarrage rapide | GA |
1Les termes du contrat de licence universelle pour les services en ligne s’appliquent aux bibliothèques en préversion publique.
2 Flux de code d’authentification avec PKCE uniquement (recommandé).
3 Flux d’octroi implicite uniquement (non recommandé).
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 | — | GA | |||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | GA | |
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Démarrage rapide | GA | |||
Java | MSAL4J | msal4j | Démarrage rapide | GA | |||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Didacticiel | GA | |||
Node.js | MSAL Node | msal-node | Démarrage rapide | GA | |||
Python | MSAL Python | msal | GA | ||||
Python | identity | identity | Démarrage rapide | -- |
(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 | — | Préversion publique | ||
Java | MSAL4J | msal4j | — | GA | ||
macOS (Swift/Obj-C) | MSAL pour iOS et macOS | MSAL | Didacticiel | GA | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Didacticiel | GA | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Didacticiel | 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 | GA | ||
Android (Kotlin) | MSAL pour Android | MSAL | — | GA | ||
iOS (Swift/Obj-C) | MSAL pour iOS et macOS | MSAL | Didacticiel | GA | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | 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 | GA | ||
Java | MSAL4J | msal4j | — | GA | ||
Nœud | MSAL Node | msal-node | Démarrage rapide | GA | ||
Python | MSAL Python | msal-python | Démarrage rapide | 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).