Introducción a la Biblioteca de autenticación de Microsoft (MSAL)

La Biblioteca de autenticación de Microsoft (MSAL) permite que los desarrolladores adquieran tokens de seguridad desde la Plataforma de identidad de Microsoft para autenticar usuarios y acceder a API web protegidas. Se puede usar para proporcionar acceso seguro a Microsoft Graph, API de Microsoft, API web de terceros o su propia API web. MSAL admite diferentes arquitecturas de aplicaciones y plataformas, como .NET, JavaScript, Java, Python, Android e iOS.

MSAL es una biblioteca de adquisición de tokens que ofrece varias maneras de obtener tokens, con una API coherente para plataformas compatibles. Usar MSAL brinda las ventajas siguientes:

  • No es necesario escribir directamente aplicaciones en el protocolo OAuth. La biblioteca controla la fontanería.
  • Puede adquirir tokens en nombre de un usuario o aplicación (cuando sea aplicable a la plataforma).
  • La biblioteca mantiene una caché de tokens y actualiza los tokens cuando están a punto de expirar. No es necesario que el usuario controle la expiración de los tokens.
  • Le ayuda a especificar qué audiencia quiere que inicie sesión en la aplicación. El público de inicio de sesión puede incluir cuentas personales de Microsoft, identidades sociales con organizaciones Id. externa de Microsoft Entra, trabajo, escuela o usuarios en nubes soberanas y nacionales.
  • Lo ayuda a configurar la aplicación a partir de archivos de configuración.
  • Lo ayuda a solucionar problemas de la aplicación mediante la exposición de excepciones, registros y telemetría que requieren acción.

Escenarios y tipos de aplicación

Con MSAL, se puede adquirir un token para muchos tipos de aplicaciones: aplicaciones web, API web, aplicaciones de página única (JavaScript), aplicaciones móviles y nativas, así como demonios y aplicaciones del lado servidor.

MSAL se puede usar en varios escenarios de aplicación, incluidos los siguientes:

  • Single page applications (JavaScript) (Aplicaciones de una sola página [JavaScript])
  • Aplicación web que inicia sesión de usuarios
  • Web application signing in a user and calling a web API on behalf of the user (Aplicación web que inicia sesión de un usuario y llama a una API web en nombre del usuario)
  • Autenticación de API web, lo que garantiza que solo los usuarios autenticados puedan acceder a ella.
  • API web que llama a otra API web de bajada en nombre del usuario que ha iniciado sesión
  • Desktop application calling a web API on behalf of the signed-in user (Aplicación de escritorio que llama a una API web en nombre del usuario que inició sesión)
  • Aplicación móvil que llama a una API web en nombre del usuario que ha iniciado sesión de forma interactiva
  • Desktop/service daemon application calling web API on behalf of itself (Aplicación de demonio de escritorio/servicio que llama a una API web en su propio nombre)

Lenguajes y plataformas

Biblioteca Plataformas y marcos compatibles
MSAL.NET .NET Framework, .NET, Xamarin, Plataforma universal de Windows
Java de MSAL Windows, macOS, Linux
MSAL Python Windows, macOS, Linux
MSAL.js Marcos de trabajo JavaScript/TypeScript, como Vue.js, Ember.js, o Durandal.js
MSAL Node Aplicaciones web con Express, aplicaciones de escritorio con Electron y aplicaciones de consola multiplataforma
MSAL React Aplicaciones de una sola página con React y bibliotecas basadas en React (Next.js y Gatsby.js)
MSAL Angular Aplicaciones de una sola página con los marcos de trabajo Angular y Angular.js
MSAL para Android Android
MSAL para iOS y macOS iOS y macOS
MSAL Go Windows, macOS, Linux