Biblioteca de autenticación de Microsoft para .NET

MSAL.NET (Microsoft. Identity.Client) es una biblioteca de autenticación que permite adquirir tokens de Microsoft Entra ID para acceder a las API web protegidas (api de Microsoft o aplicaciones registradas con Microsoft Entra ID).

MSAL.NET está disponible en varias plataformas de .NET (escritorio, móvil y web).

Plataformas admitidas y arquitecturas de aplicaciones

MSAL.NET admite topologías de aplicación diferentes, entre las que se incluyen:

  • Clientes nativos (aplicaciones móviles o de escritorio) que llaman a Microsoft Graph API en nombre de un usuario.
  • Demonios, servicios o clientes web (aplicaciones web o API web) que llaman a Microsoft Graph API en nombre de un usuario o sin un usuario.

Para obtener más información sobre los escenarios admitidos, consulte Escenarios.

MSAL.NET admite varias plataformas, como .NET, .NET Framework y .NET MAUI.

Note

No todas las características de autenticación están disponibles en todas las plataformas.

  • Las plataformas móviles no permiten flujos de cliente confidenciales. No están diseñados para funcionar como back-end y no pueden almacenar secretos de forma segura.
  • En los clientes públicos (móviles y de escritorio), el navegador predeterminado y los URI de redirección son diferentes según la plataforma, y la disponibilidad del broker varía (más detalles en la documentación sobre el uso del navegador).

Note

MSAL.NET está optimizado para su uso con Microsoft Entra ID como proveedor de identidades (IDP). Aunque es posible usar MSAL.NET con IDP de terceros que admiten OAuth 2. 0, especialmente cuando se usan exploradores incrustados o del sistema (consulte la documentación de uso del explorador)): no se garantiza la interoperabilidad. Microsoft no proporciona compatibilidad con problemas derivados de integraciones de IDP de terceros. Estos escenarios se consideran casos de mejor esfuerzo y puede que no se aborden.

Note

MSAL.NET versiones 4.61.0 y posteriores no proporcionan compatibilidad con Plataforma universal de Windows, Xamarin Android y Xamarin iOS. Obtenga más información sobre el desuso en Anuncio del próximo desuso de MSAL.NET para Xamarin y UWP.

¿Por qué usar MSAL.NET?

MSAL.NET proporciona varias maneras de obtener un token. Usar MSAL.NET es más sencillo que usar bibliotecas OAuth genéricas o escribir llamadas directamente contra el protocolo. MSAL.NET proporciona varias ventajas integradas que simplifican el flujo de trabajo del desarrollador:

  • Mantenga una caché de tokens y actualice los tokens cuando estén a punto de expirar.
  • Le ayuda a especificar qué audiencia desea que la aplicación inicie sesión (su organización, varias organizaciones, trabajo, escuela y Microsoft cuentas personales, identidades sociales con Id. externa de Microsoft Entra o usuarios en nubes soberanas y nacionales).
  • Le ayuda a configurar la aplicación a través de archivos de configuración .
  • Ayuda a solucionar problemas de la aplicación mediante la exposición de excepciones accionables, el registro y la telemetría.

Introducción a MSAL.NET

  1. Obtenga información sobre MSAL.NET escenarios de uso.
  2. Registre la aplicación con Microsoft Entra ID.
  3. Obtenga información sobre los tipos de aplicaciones cliente: cliente público y cliente confidencial.
  4. Obtenga información sobre cómo adquirir tokens para acceder a una API protegida.

Consideraciones

MSAL.NET se usa para adquirir tokens. No se usa para proteger una API web. Si está interesado en proteger una API web con Microsoft Entra ID, consulte:

Migración desde la biblioteca de autenticación de Azure Active Directory (ADAL)

Biblioteca de autenticación de Microsoft (MSAL) para .NET es la biblioteca compatible que se puede usar para la adquisición de tokens de autenticación. Si usted o su organización usan la biblioteca de autenticación de Azure Active Directory (ADAL), debe migrar a MSAL. ADAL alcanzó el final del ciclo de vida el 30 de junio de 2023.

Note

Aunque ADAL está en desuso desde el 30 de junio de 2023, las aplicaciones que dependen de ADAL no deben interrumpirse, ya que el punto de conexión subyacente permanecerá activo. Sin embargo, no se ofrecerá ninguna nueva característica ni soporte técnico para ADAL.

Lanzamientos

Para ver los lanzamientos anteriores, consulte los lanzamientos en GitHub.

Para consultar las versiones en desarrollo y futuras, consulte Milestones.

Para más información sobre el control de versiones, consulte Control de versiones semántico: administración de cambios de API para comprender los cambios en MSAL.NET API pública.

Samples

Consulte nuestra lista de ejemplos completa.