Escolher uma versão do MSAL.NET

Importante

A partir de 1 de maio de 2025, o Azure AD B2C já não está disponível para compra para novos clientes. Saiba mais nas nossas Perguntas Frequentes.

Dependendo do tipo de aplicação que está a construir e da sua plataforma subjacente, pode optar por usar MSAL.NET, Microsoft Identity Web, ou ambos.

O Microsoft Identity Web é um conjunto de bibliotecas ASP.NET Core que simplifica a adição de suporte de autenticação e autorização a aplicações web e APIs web integrando-se com a plataforma de identidades da Microsoft. Fornece uma camada de conveniência API de superfície única que liga o ASP.NET Core, o seu middleware de autenticação e a Biblioteca de Autenticação da Microsoft (MSAL) para .NET.

Siga a árvore de decisão abaixo para determinar se o seu cenário requer MSAL.NET, Microsoft Identity Web ou ambos.

Imagem da árvore de decisão ao trabalhar com bibliotecas de autenticação .NET

Quando devo usar o MSAL.NET

Estás a construir uma aplicação de desktop ou móvel. Use o MSAL.NET diretamente e comece a adquirir tokens para a sua aplicação cliente pública. Para mais pormenores, consultar:

Use o Microsoft Identity Web

Estás a construir uma aplicação cliente confidencial (aplicação web, API web, app daemon/serviço) a correr em ASP.NET Core, ASP.NET OWIN ou framework .NET/.NET Core. Veja o que o Microsoft Identity Web tem para oferecer:

  • Inicie sessão de utilizadores através de aplicações web nas aplicações Microsoft Entra ID, Azure AD B2C e ID externo Microsoft Entra
    • Suportar contas pessoais da Microsoft
    • Apoiar utilizadores convidados
    • Consentimento incremental e acesso condicional em aplicações web
    • Lidar com o SameSite
    • Integra com "Autenticação de serviços de aplicação"
    • Suporta PKCE para aplicações confidenciais de clientes
    • Traz serializadores de cache de tokens de alto desempenho, incluindo distribuídos
  • Protect web API (com Microsoft Entra ID, Azure AD B2C ou ID externo Microsoft Entra)
    • Valida o emissor (incluindo aplicações multi-inquilino, qualquer cloud)
    • suporta certificados de descriptografia de tokens em APIs Web
    • Valida o âmbito e o papel da aplicação em APIs Web
    • Gera WWW-authenticate cabeçalhos em APIs (CA, CAE)
    • Proteger os serviços gRPC e as funções do Azure
  • Aplicação web/API chamada de APIs downstream (incluindo grafos, exceto B2C)
  • Suporta múltiplos esquemas de autenticação no ASP.NET Core
  • Suporta o protocolo de Prova de Posse
  • Resilient (suporta captação regional de tokens e dicas de roteamento para o sistema de backup de tokens)

Estás a construir uma nova aplicação

Use os Project Templates e a msidentity-app-sync ferramenta. Temos modelos de aplicações web para web MVC, Razor, Blazor server, Blazorwasm, alojados e não alojados. Tudo para Microsoft Entra ID ou Azure AD B2C.

Imagem mostrando modelos de projetos ASP.NET Core para construir aplicações web

Modelos de projetos para aplicações web.

Temos templates de API web para gRPC e Funções do Azure.

Modelos de projetos Web API.

Aqui está informação sobre como executar a ferramenta msidentity-app-sync, que é uma ferramenta de linha de comandos que cria aplicações da plataforma de identidades da Microsoft num tenant (Microsoft Entra ID ou Azure AD B2C) e atualiza o código de configuração das suas aplicações ASP.NET Core. A ferramenta também pode ser usada para atualizar código de uma aplicação Microsoft Entra existente ou de uma aplicação B2C do Azure AD.

Está disponível no NuGet.

Estás a adicionar autenticação a uma aplicação existente ou estou a migrar do ADAL

Basta pegar no código que precisa do Microsoft Identity Web para atualizar a sua aplicação. Eis um exemplo:

imagem a mostrar atualizações de código ao construir uma aplicação web que chama uma API web

imagem a mostrar atualizações de código ao construir uma aplicação web ou API B2C

imagem a mostrar atualizações de código para uma aplicação web B2C que faz login com utilizadores e uma API web protegida

imagem mostrando atualizações de código numa aplicação web ou API web que chama uma API a jusante

Quando é que se usa o modelo híbrido (MSAL.NET e Microsoft Identity Web)?

Está a construir um SDK para aplicações clientes confidenciais e quer usar APIs de baixo nível MSAL.NET. No MSAL.NET, uma cache de token em memória é fornecida por defeito, no entanto, no caso de aplicações web ou APIs web, a cache deve ser gerida de forma diferente das aplicações clientes públicas (desktop ou mobile), pois deve ser particionada corretamente. É altamente recomendado utilizar um serializador de cache de tokens, que pode ser uma cache distribuída (por exemplo, Redis, Cosmos ou SQL Server, distribuída na cache de memória), ou uma cache de memória corretamente particionada.

Ao usar serializadores de cache de token, particionas as caches de token dependendo da chave de cache usada porque a cache é trocada entre o armazenamento e a memória da MSAL. Esta chave de cache é calculada pelo MSAL.NET em função do fluxo que utiliza

Imagem mostrando caches de tokens com e sem serializadores personalizados

Por que precisas da Microsoft? Identity.Web.TokenCache?

Microsoft. O Identity.Web.TokenCache fornece serialização da cache de tokens para si. Consulte Serialização da cache de token para mais detalhes.

Exemplos de como usar caches de tokens para aplicações web e APIs web estão disponíveis no tutorial da aplicação web ASP.NET Core, na fase 2-2 do Token Cache. Para implementações, consulte a pasta TokenCacheProviders na Microsoft. Repositório Identity.Web.

O Microsoft Identity Web também ajuda no carregamento de certificados.