Vue d’ensemble de la Bibliothèque d’authentification Microsoft (MSAL)

La Bibliothèque d’authentification Microsoft (MSAL) permet aux développeurs d’acquérir des jetons de sécurité auprès de la plateforme d’identités Microsoft afin d’authentifier les utilisateurs et d’accéder aux API web sécurisées. Il peut être utilisé pour fournir un accès sécurisé à Microsoft Graph, aux API Microsoft, aux API web tierces ou à votre propre API web. MSAL prend en charge différentes architectures et plateformes d’application, notamment .NET, JavaScript, Java, Python, Android et iOS.

MSAL est une bibliothèque d’acquisition de jetons qui offre plusieurs façons d’obtenir des jetons, avec une API cohérente pour les plateformes prises en charge. MSAL offre les avantages suivants :

  • Il n’est pas nécessaire d’écrire directement des applications sur le protocole OAuth. La plomberie est gérée par la bibliothèque.
  • Peut acquérir des jetons pour le compte d’un utilisateur ou d’une application (si applicable à la plateforme).
  • La bibliothèque gère un cache de jetons et actualise les jetons pour vous quand elles sont sur le point d’expirer. Vous n’avez pas besoin de gérer l’expiration du jeton.
  • Vous aide à spécifier le public auquel vous souhaitez que votre application se connecte. L’audience de connexion peut inclure des comptes Microsoft personnels, des identités sociales avec des organisations ID externe Microsoft Entra, un travail, une école ou des utilisateurs dans des clouds souverains et nationaux.
  • Vous permet de configurer votre application à partir de fichiers de configuration.
  • Vous permet de dépanner votre application en exposant des exceptions, une journalisation et une télémétrie exploitables.

Types d’application et scénarios

À l’aide de MSAL, un jeton peut être acquis pour de nombreux types d’applications : applications web, API web, applications monopage (JavaScript), applications mobiles et natives, ainsi que démons et applications côté serveur.

MSAL peut être utilisé dans plusieurs scénarios d’application, notamment :

  • Applications monopages (JavaScript)
  • Application web qui se connecte aux utilisateurs
  • Application web connectant un utilisateur et appelant une API web pour le compte de l’utilisateur
  • Authentification de l’API web, garantissant que seuls les utilisateurs authentifiés peuvent y accéder
  • API web appelant une autre API web en aval pour le compte de l’utilisateur connecté
  • Application de bureau appelant une API web pour le compte de l’utilisateur connecté
  • Application mobile appelant une API web pour le compte de l’utilisateur connecté de manière interactive
  • Application démon de bureau/service appelant une API web pour son propre compte

Langages et infrastructures

Bibliothèque Plateformes et infrastructures prises en charge
MSAL.NET .NET Framework, .NET, Xamarin, plateforme Windows universelle
MSAL Java Windows, macOS, Linux
MSAL Python Windows, macOS, Linux
MSAL.js Infrastructures JavaScript/TypeScript, telles que Vue.js, Ember.js ou Durandal.js
MSAL Node Applications Web avec Express, applications de bureau avec des applications de console multiplateformes et Electron
MSAL React Applications à page unique avec des bibliothèques React et basées sur React (Next.js, Gatsby.js)
MSAL Angular Applications à page unique avec infrastructures Angular et Angular.js
MSAL pour Android Android
MSAL pour iOS et macOS iOS et macOS
MSAL Go Windows, macOS, Linux