Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft. Identity.Web amplía la autenticación de Microsoft Entra ID a .NET Framework y .NET aplicaciones estándar. Este artículo le ayuda a elegir el paquete adecuado y el patrón de integración para su escenario.
Elección del escenario
Seleccione el patrón de integración que coincida con el tipo de aplicación. Microsoft Entra ofrece diferentes paquetes para aplicaciones web y servicios en segundo plano.
MSAL.NET con paquetes Microsoft.Identity.Web
Para aplicaciones de consola, servicios de demonio y aplicaciones .NET Framework no basadas en la web
Use Microsoft.Identity.Web.TokenCache y los paquetes Microsoft.Identity.Web.Certificate con MSAL.NET para:
- Serialización de caché de tokens (SQL Server, Redis, Cosmos DB, PostgreSQL)
- Carga de certificados desde KeyVault, almacén de certificados o sistema de archivos
- Aplicaciones de consola y servicios de demonio
- bibliotecas de .NET Standard 2.0
MSAL.NET con Microsoft. Identity.Web Guide
Integración de OWIN para ASP.NET MVC/API web
Para ASP.NET MVC y aplicaciones de API web
Utilice el paquete Microsoft.Identity.Web.OWIN para una autenticación web completa con:
- TokenAcquirerFactory para la adquisición automática de tokens
- Extensiones de controlador para acceso fácil a Microsoft Graph y sus API secundarias.
- Compatibilidad con la caché de tokens distribuidos
- Control de consentimiento incremental
Comparación de las opciones de integración
En la tabla siguiente se resumen las diferencias clave entre los dos enfoques de integración.
| Feature | MSAL.NET + TokenCache/Certificado | Integración de OWIN |
|---|---|---|
| Paquete | Microsoft. Identity.Web.TokenCache Microsoft.Identity.Web.Certificate |
Microsoft.Identity.Web.OWIN |
| Target | Aplicaciones de consola, demonios, servicios de trabajo | ASP.NET MVC, ASP.NET Web API |
| Autenticación | Configuración manual de MSAL.NET | Middleware OWIN automático |
| Adquisición de tokens | Manual con IConfidentialClientApplication |
Automático con extensiones de controlador |
| Caché de tokens | Todos los proveedores (SQL, Redis, Cosmos, PostgreSQL) | Todos los proveedores (SQL, Redis, Cosmos, PostgreSQL) |
| Carga de certificados | KeyVault, almacenar, file, Base64 | Mediante la configuración de MSAL.NET |
| Microsoft Graph | Configuración manual GraphServiceClient |
this.GetGraphServiceClient() |
| API de bajada | Llamadas HTTP manuales con tokens | this.GetDownstreamApi() |
| Consentimiento incremental | Gestión manual de desafíos | Automático con MsalUiRequiredException |
Revisión de los paquetes disponibles
A partir de Microsoft. Identity.Web 1.17+, puede usar bibliotecas de Microsoft Identity en entornos que no son de ASP.NET Core. Los siguientes paquetes tienen como destino .NET Framework y .NET cargas de trabajo estándar.
Paquetes disponibles
| Package | propósito | Aplicaciones objetivo |
|---|---|---|
| Microsoft. Identity.Web.TokenCache | Serializadores de caché de tokens para MSAL.NET | Consola, servicios de fondo, servicios de trabajo en segundo plano |
| Microsoft. Identity.Web.Certificate | Utilidades de carga de certificados | Consola, servicios de fondo, servicios de trabajo en segundo plano |
| Microsoft. Identity.Web.OWIN | Integración de middleware de OWIN | ASP.NET MVC, ASP.NET Web API |
Descripción de las ventajas del paquete
Estos paquetes simplifican las tareas comunes de autenticación sin necesidad de ASP.NET Core.
| Feature | Ventajas |
|---|---|
| Serialización de caché de tokens | Adaptadores de caché reutilizables para en memoria, SQL Server, Redis, Cosmos DB, PostgreSQL |
| Asistentes de Certificados | Carga simplificada de certificados desde keyVault, sistema de archivos o almacenes de certificados |
| Integración de OWIN | Autenticación sin problemas para ASP.NET MVC o API web |
| .NET Standard 2.0 | Compatible con .NET Framework 4.7.2 y versiones posteriores, .NET Core y .NET 5+ |
| Dependencias mínimas | Paquetes de destino sin dependencias de ASP.NET Core |
Exploración de aplicaciones de ejemplo
Use estos ejemplos como puntos de partida para su propia implementación.
ejemplos de MSAL.NET
- ConfidentialClientTokenCache: aplicación de consola con caché de tokens
- active-directory-dotnetcore-daemon-v2: demonio con certificado de KeyVault
Ejemplos de OWIN
- ms-identity-aspnet-webapp-openidconnect - ASP.NET MVC con Microsoft. Identity.Web.OWIN