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 es un conjunto de bibliotecas que simplifica la adición de autenticación y autorización a las aplicaciones que se integran con la plataforma de identidad de Microsoft, incluido Microsoft Entra ID. Es compatible con:
- .NET Aspire aplicaciones distribuidas
- ASP.NET Core aplicaciones web y API web
- OWIN aplicaciones en .NET Framework
- .NET aplicaciones de demonio y servicios en segundo plano
Tanto si compila aplicaciones web que permiten iniciar sesión a los usuarios, API web que validan tokens, o servicios en segundo plano que llaman a API protegidas, Microsoft Identity.Web controla la complejidad de la autenticación.
¿Por qué usar Microsoft Identity Web?
Microsoft.Identity.Web reduce el código predefinido y proporciona prácticas recomendadas integradas para escenarios de identidad comunes. Entre las funcionalidades clave se incluyen:
- Autenticación simplificada : configuración mínima para iniciar sesión de usuarios y validar tokens
-
Llamadas API deDownstream: llamada a Microsoft Graph, SDK de Azure o a sus propias API protegidas con administración automática de tokens
- Adquisición de tokens: Adquisición de tokens en nombre de los usuarios o la aplicación
- Administración de caché de Token - Compatibilidad con la caché distribuida con Redis, SQL Server, Cosmos DB y PostgreSQL
- Varios tipos de credenciales : compatibilidad con certificados, identidades administradas y autenticación sin certificados
- Encabezados de autorización automática: la autenticación se controla de forma transparente al llamar a las API.
Consulte Paquetes NuGet para obtener información general sobre todos los paquetes disponibles y cuándo usarlos.
Llamada a las API con autenticación automática
Puede llamar a las API protegidas sin administrar manualmente los tokens. Microsoft. Identity.Web admite los siguientes patrones de integración:
-
Microsoft Graph: Usar
GraphServiceClientcon la adquisición automática de tokens -
SDK de Azure - use
TokenCredentialimplementaciones que se integran con Microsoft.Identity.Web -
Tus propias APIs - Usa
IDownstreamApioIAuthorizationHeaderProviderpara llamadas de API sin contratiempos - Identidades del agente - Invocar API en nombre de identidades administradas o entidades de servicio con gestión automática de credenciales.
Los encabezados de autenticación se agregan automáticamente a las solicitudes y los tokens se adquieren y almacenan en caché de forma transparente. Para obtener más información, consulte API descendente, aplicaciones daemon y guía de identidades del agente.
Enfoques de configuración
Puede configurar Microsoft. Identity.Web a través de archivos de configuración o mediante programación. Ambos enfoques admiten todos los escenarios de autenticación.
Configuración por archivo (recomendado)
Configuración de la autenticación en appsettings.json:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "your-tenant-id",
"ClientId": "your-client-id"
}
}
Importante
En el caso de las aplicaciones de demonio y las aplicaciones de consola, asegúrese de que el archivo appsettings.json se haya copiado en el directorio de salida. En Visual Studio, establezca la propiedad Copy en Output Directory en Copy si es más reciente o Copy siempre o agregue lo siguiente a su .csproj:
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
Configuración por código
Como alternativa, configure la autenticación directamente en el código de inicio de la aplicación:
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(options =>
{
options.Instance = "https://login.microsoftonline.com/";
options.TenantId = "your-tenant-id";
options.ClientId = "your-client-id";
});
Pasos siguientes
Elija el escenario que coincida con la aplicación:
- Web app - Iniciar sesión de usuarios: agregar autenticación a la aplicación web de ASP.NET Core
- Web API: proteja la API- Proteja la API web de ASP.NET Core con tokens de portador
- Aplicación en segundo plano: invocación de APIs - creación de servicios en segundo plano que invocan APIs protegidas