Bibliotecas de autenticación de la Plataforma de identidad de Microsoft

En las tablas siguientes se muestra la compatibilidad de la Biblioteca de autenticación de Microsoft con varios tipos de aplicaciones. Incluyen vínculos al código fuente de la biblioteca, dónde obtener el paquete para el proyecto de la aplicación y si la biblioteca admite el inicio de sesión de usuario (autenticación), el acceso a API web protegidas (autorización) o ambos.

OpenID Foundation ha certificado la Plataforma de identidad de Microsoft como un proveedor certificado de OpenID. Si prefiere usar una biblioteca que no sea la biblioteca de autenticación de Microsoft (MSAL) u otra biblioteca compatible con Microsoft, elija una con una implementación certificada de OpenID Connect.

Si decide codificar manualmente su propia implementación de nivel de protocolo de OAuth 2.0 u OpenID Connect 1.0, preste especial atención a las consideraciones de seguridad de cada especificación estándar y lleve a cabo procedimientos seguros de diseño y desarrollo de software, como los que se incluyen en el SDL de Microsoft.

Aplicación de página única (SPA)

Una aplicación de una sola página se ejecuta completamente en el explorador y captura los datos de la página (HTML, CSS y JavaScript) dinámicamente o en el momento de la carga de la aplicación. Puede llamar a las API web para interactuar con los orígenes de datos de back-end.

Dado que el código de SPA se ejecuta completamente en el explorador, se considera un cliente público que no puede almacenar secretos de forma segura.

Lenguaje/marco de trabajo Proyecto en
GitHub
Paquete Introducción
iniciado
Inicio de sesión de usuarios Acceso a API web Disponible con carácter general (GA) o
Versión preliminar pública1
Angular MSAL Angular v22 msal-angular Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Angular MSAL Angular3 msal-angular La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
AngularJS MSAL AngularJS3 msal-angularjs La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. Versión preliminar pública
JavaScript MSAL.js v22 msal-browser Tutorial La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
JavaScript MSAL.js 1.03 msal-core La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
React MSAL React2 msal-react Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA

1 Términos de licencia universal de Online Services se aplican a las bibliotecas de versión preliminar pública.

2 Flujo de código de autenticación solo con PKCE (recomendado).

3 Solo flujo de subvención implícito (No recomendado).

Aplicación web

Una aplicación web ejecuta código en un servidor que genera y envía HTML, CSS y JavaScript al explorador web de un usuario que se va a representar. La identidad del usuario se mantiene como una sesión entre el explorador del usuario (el front-end) y el servidor web (el back-end).

Dado que el código de una aplicación web se ejecuta en el servidor web, se considera un cliente confidencial que puede almacenar secretos de forma segura.

Lenguaje/marco de trabajo Proyecto en
GitHub
Paquete Introducción
iniciado
Inicio de sesión de usuarios Acceso a API web Disponible con carácter general (GA) o
Versión preliminar pública1
.NET MSAL.NET Microsoft.Identity.Client La biblioteca no puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. 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 Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca no puede solicitar tokens de acceso para las API web protegidas. GA
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Java MSAL4J msal4j Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Tutorial La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Node.js MSAL Node msal-node Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Python MSAL Python msal La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Python identity identity Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. --

(1) Los términos de licencia universal de Online Services se aplican a las bibliotecas que están en versión preliminar pública.

(2) La biblioteca Microsoft.IdentityModel solo valida los tokens, no puede solicitar tokens de id. ni de acceso.

Aplicación de escritorio

Una aplicación de escritorio suele ser código binario (compilado) que muestra una interfaz de usuario y que se ha diseñado para ejecutarse en el escritorio del usuario.

Dado que una aplicación de escritorio se ejecuta en el escritorio del usuario, se considera un cliente público que no puede almacenar secretos de forma segura.

Lenguaje/marco de trabajo Proyecto en
GitHub
Paquete Introducción
iniciado
Inicio de sesión de usuarios Acceso a API web Disponible con carácter general (GA) o
Versión preliminar pública1
Electron MSAL Node.js msal-node La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. Versión preliminar pública
Java MSAL4J msal4j La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
macOS (Swift/Obj-C) MSAL para iOS y macOS MSAL Tutorial La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
UWP MSAL.NET Microsoft.Identity.Client Tutorial La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
WPF MSAL.NET Microsoft.Identity.Client Tutorial La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA

1 Términos de licencia universal de Online Services se aplican a las bibliotecas de versión preliminar pública.

Aplicación para dispositivos móviles

Una aplicación móvil suele ser código binario (compilado) que muestra una interfaz de usuario y que se ha diseñado para ejecutarse en un dispositivo móvil del usuario.

Dado que una aplicación móvil se ejecuta en el dispositivo móvil del usuario, se considera un cliente público que no puede almacenar secretos de forma segura.

Plataforma Proyecto en
GitHub
Paquete Introducción
iniciado
Inicio de sesión de usuarios Acceso a API web Disponible con carácter general (GA) o
Versión preliminar pública1
Android (Java) MSAL de Android MSAL Guía de inicio rápido La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Android (Kotlin) MSAL de Android MSAL La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
iOS (Swift/Obj-C) MSAL para iOS y macOS MSAL Tutorial La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client La biblioteca puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA

1 Términos de licencia universal de Online Services se aplican a las bibliotecas de versión preliminar pública.

Servicio o demonio

Los servicios y los demonios suelen usarse para la comunicación de servidor a servidor y otras comunicaciones desatendidas (a veces denominados equipos sin periféricos). Dado que no hay ningún usuario en el teclado para escribir las credenciales o dar su consentimiento para el acceso a los recursos, estas aplicaciones se autentican a sí mismas, no a un usuario, al solicitar acceso autorizado a los recursos de una API web.

Un servicio o demonio que se ejecuta en un servidor se considera un cliente confidencial que puede almacenar sus secretos de forma segura.

Lenguaje/marco de trabajo Proyecto en
GitHub
Paquete Introducción
iniciado
Inicio de sesión de usuarios Acceso a API web Disponible con carácter general (GA) o
Versión preliminar pública1
.NET MSAL.NET Microsoft.Identity.Client Guía de inicio rápido La biblioteca no puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Java MSAL4J msal4j La biblioteca no puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Nodo MSAL Node msal-node Guía de inicio rápido La biblioteca no puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA
Python MSAL Python msal-python Guía de inicio rápido La biblioteca no puede solicitar tokens de id. para el inicio de sesión de usuario. La biblioteca puede solicitar tokens de acceso para las API web protegidas. GA

1 Términos de licencia universal de Online Services se aplican a las bibliotecas de versión preliminar pública.

Pasos siguientes

Para obtener más información acerca de la biblioteca de autenticación de Microsoft, consulte Introducción a la Biblioteca de autenticación de Microsoft (MSAL).