Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Microsoft. Identity.Web é um conjunto de bibliotecas que simplifica a adição de autenticação e autorização a aplicações que se integram com a plataforma de identidades da Microsoft, incluindo o Microsoft Entra ID. Apoia:
- .NET Aspire aplicações distribuídas
- ASP.NET Core aplicações web e APIs web
- Aplicações OWIN no .NET Framework
- .NET aplicações de demónios e serviços em segundo plano
Quer você crie aplicações web que façam login para utilizadores, APIs web que validam tokens ou serviços em segundo plano que chamam APIs protegidas, o Microsoft.Identity.Web trata da complexidade da autenticação por si.
Porque usar o Microsoft Identity Web?
Microsoft. O Identity.Web reduz o código padrão e fornece boas práticas incorporadas para cenários comuns de identidade. As capacidades-chave incluem:
- Autenticação simplificada - Configuração mínima para iniciar sessão de utilizadores e validar tokens
-
Chamadas de API Downstream - Faça chamadas aos Microsoft Graph, SDKs do Azure ou às suas próprias APIs protegidas com gestão automática de tokens.
- Aquisição de tokens - Adquira tokens em nome dos utilizadores ou da sua aplicação
- Gestão de cache de tokens - Suporte de cache distribuída com Redis, SQL Server, Cosmos DB e PostgreSQL
- Múltiplos tipos de credenciais - Suporte para certificados, identidades geridas e autenticação sem certificado
- Cabeçalhos de autorização automática - A autenticação é tratada de forma transparente ao chamar APIs
Consulte os pacotes NuGet para uma visão geral de todos os pacotes disponíveis e quando os utilizar.
APIs de chamadas com autenticação automática
Pode chamar APIs protegidas sem gerir manualmente os tokens. Microsoft. O Identity.Web suporta os seguintes padrões de integração:
-
Microsoft Graph - Usar
GraphServiceClientcom aquisição automática de tokens -
SDKs do Azure - Use implementações
TokenCredentialque se integrem com Microsoft. Identity.Web -
As suas próprias APIs - Use
IDownstreamApiouIAuthorizationHeaderProviderpara chamadas de API fluidas - Identidades de agentes - Invocar APIs em nome de identidades geridas ou entidades de serviço com gestão automática de credenciais.
Cabeçalhos de autenticação são adicionados automaticamente aos seus pedidos, e os tokens são adquiridos e armazenados em cache de forma transparente. Para mais detalhes, consulte Chamadas a APIs em downstream, Aplicações Daemon e o Guia de Identidades de Agentes.
Abordagens de configuração
Podes configurar a Microsoft. Identity.Web através de ficheiros de definições ou programaticamente. Ambas as abordagens suportam todos os cenários de autenticação.
Configuração por ficheiro (recomendado)
Configurar autenticação em appsettings.json:
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "your-tenant-id",
"ClientId": "your-client-id"
}
}
Importante
Para aplicações de daemon e consolas, certifique-se de que o seu appsettings.json ficheiro é copiado para o diretório de saída. No Visual Studio, defina a propriedade Copy to Output Directory para Copiar se for mais recente ou Copiar sempre, ou adicione o seguinte ao seu .csproj:
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
Configuração por código
Alternativamente, configure a autenticação diretamente no código de arranque da sua aplicação:
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(options =>
{
options.Instance = "https://login.microsoftonline.com/";
options.TenantId = "your-tenant-id";
options.ClientId = "your-client-id";
});
Próximos passos
Escolha o cenário que corresponda à sua aplicação:
- Aplicação Web - Iniciar sessão de utilizadores - Adicionar autenticação à sua aplicação web ASP.NET Core
- Web API - Proteja a sua API - Proteja a sua ASP.NET Core Web API com tokens portadores
- Aplicação Daemon - Chamar APIs - Construir serviços em segundo plano que chamem APIs protegidas