Visão geral do Microsoft Identity Web

Microsoft. Identity.Web é um conjunto de bibliotecas que simplifica a adição de autenticação e autorização a aplicativos que se integram ao plataforma de identidade da Microsoft, incluindo Microsoft Entra ID. Suporta:

  • .NET Aspire aplicativos distribuídos
  • ASP.NET Core aplicativos Web e APIs Web
  • aplicativos OWIN no .NET Framework
  • .NET aplicativos daemon e serviços em segundo plano

Se você cria aplicativos Web que inscrevem usuários, APIs Web que validam tokens ou serviços em segundo plano que chamam APIs protegidas, Microsoft. Identity.Web manipula a complexidade de autenticação para você.

Por que usar Microsoft Identity Web?

Microsoft. O Identity.Web reduz o código clichê e fornece práticas recomendadas internas para cenários comuns de identidade. As principais funcionalidades incluem:

  • Autenticação simplificada – Configuração mínima para entrar em usuários e validar tokens
  • Chamadas a APIs downstream - Chamar o Microsoft Graph, SDKs do Azure ou suas próprias APIs protegidas com gerenciamento automático de token
    • Aquisição de token – adquirir tokens em nome de usuários ou de seu aplicativo
    • gerenciamento de cache Token – suporte a cache distribuído com Redis, SQL Server, Cosmos DB e PostgreSQL
  • Vários tipos de credencial – suporte para certificados, identidades gerenciadas e autenticação sem certificado
  • Cabeçalhos de autorização automáticos – a autenticação é tratada de forma transparente ao chamar APIs

Consulte os pacotes NuGet para obter uma visão geral de todos os pacotes disponíveis e quando usá-los.

Chamar APIs com autenticação automática

Você pode chamar APIs protegidas sem gerenciar manualmente tokens. Microsoft. O Identity.Web dá suporte aos seguintes padrões de integração:

  • Microsoft Graph - Usar GraphServiceClient com aquisição automática de token
  • SDKs do Azure – use implementações TokenCredential que se integram ao Microsoft. Identity.Web
  • Suas próprias APIs – Usar IDownstreamApi ou IAuthorizationHeaderProvider para chamadas de API perfeitas
  • Identidades de agente – Chamar APIs em nome de identidades gerenciadas ou principais de serviço com tratamento automático de credenciais

Cabeçalhos de autenticação são adicionados às suas solicitações automaticamente e os tokens são adquiridos e armazenados em cache de forma transparente. Para obter detalhes, consulte Como chamar APIs downstream, aplicativos Daemon e o guia de identidades do Agente.

Abordagens de configuração

Você pode configurar Microsoft. Identity.Web por meio de arquivos de configurações ou programaticamente. Ambas as abordagens dão suporte a todos os cenários de autenticação.

Configurar a autenticação em appsettings.json:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "your-tenant-id",
    "ClientId": "your-client-id"
  }
}

Importante

Para aplicativos daemon e aplicativos de console, verifique se o appsettings.json arquivo foi copiado para o diretório de saída. Em Visual Studio, defina a propriedade Copy to Output Directory como Copy se mais recente ou Copy sempre ou adicione o seguinte ao .csproj:

<ItemGroup>
  <None Update="appsettings.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

Configuração por código

Como alternativa, configure a autenticação diretamente no código de inicialização do aplicativo:

builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(options =>
    {
        options.Instance = "https://login.microsoftonline.com/";
        options.TenantId = "your-tenant-id";
        options.ClientId = "your-client-id";
    });

Próximas Etapas 

Escolha o cenário que corresponde ao seu aplicativo: