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 | GA | ||
Angular | MSAL Angular3 | msal-angular | — | GA | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Versión preliminar pública | ||
JavaScript | MSAL.js v22 | msal-browser | Tutorial | GA | ||
JavaScript | MSAL.js 1.03 | msal-core | — | GA | ||
React | MSAL React2 | msal-react | Guía de inicio rápido | 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 | — | GA | |||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | GA | |
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Guía de inicio rápido | GA | |||
Java | MSAL4J | msal4j | Guía de inicio rápido | GA | |||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Tutorial | GA | |||
Node.js | MSAL Node | msal-node | Guía de inicio rápido | GA | |||
Python | MSAL Python | msal | GA | ||||
Python | identity | identity | Guía de inicio rápido | -- |
(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 | — | Versión preliminar pública | ||
Java | MSAL4J | msal4j | — | GA | ||
macOS (Swift/Obj-C) | MSAL para iOS y macOS | MSAL | Tutorial | GA | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Tutorial | GA | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Tutorial | 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 | GA | ||
Android (Kotlin) | MSAL de Android | MSAL | — | GA | ||
iOS (Swift/Obj-C) | MSAL para iOS y macOS | MSAL | Tutorial | GA | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | 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 | GA | ||
Java | MSAL4J | msal4j | — | GA | ||
Nodo | MSAL Node | msal-node | Guía de inicio rápido | GA | ||
Python | MSAL Python | msal-python | Guía de inicio rápido | 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).