Biblioteca de Autenticação da Microsoft para .NET

MSAL.NET (Microsoft. Identity.Client) é uma biblioteca de autenticação que lhe permite adquirir tokens do Microsoft Entra ID para aceder a APIs web protegidas (APIs Microsoft ou aplicações registadas com o Microsoft Entra ID).

O MSAL.NET está disponível em várias plataformas .NET (desktop, móvel e web).

Plataformas e arquiteturas de aplicações suportadas

O MSAL.NET suporta diferentes topologias de aplicação, incluindo:

  • Clientes nativos (aplicações móveis ou de ambiente de trabalho) que chamam a Microsoft Graph API em nome de um utilizador.
  • Daemons, serviços ou clientes web (aplicações web ou APIs web) que invocam a API do Microsoft Graph em nome de um utilizador ou sem um utilizador.

Para mais informações sobre os cenários suportados, consulte Cenários.

O MSAL.NET suporta múltiplas plataformas, incluindo .NET, .NET Framework e .NET MAUI.

Note

Nem todas as funcionalidades de autenticação estão disponíveis em todas as plataformas.

  • As plataformas móveis não permitem fluxos confidenciais de clientes. Não são feitos para funcionar como backend e não conseguem armazenar segredos de forma segura.
  • Em clientes públicos (móveis e desktop), os URIs padrão do navegador e de redirecionamento variam de plataforma para plataforma, e a disponibilidade do corretor varia ( detalhes na documentação de utilização do navegador).

Note

O MSAL.NET está otimizado para utilização com o Microsoft Entra ID como fornecedor de identidade (IDP). Embora seja possível usar o MSAL.NET com IDPs de terceiros que suportam o OAuth 2. 0 — particularmente ao usar navegadores embutidos ou de sistema ((ver na documentação de utilização do navegador)) — a interoperabilidade não é garantida. A Microsoft não oferece suporte para problemas decorrentes de integrações IDP de terceiros. Tais cenários são considerados o melhor esforço e podem não ser abordados.

Note

As versões 4.61.0 e superiores do MSAL.NET não oferecem suporte para Plataforma Universal do Windows, Xamarin Android e Xamarin iOS. Leia mais sobre a descontinuação em Anunciando a próxima descontinuação do MSAL.NET para Xamarin e UWP.

Porque usar o MSAL.NET?

O MSAL.NET fornece várias formas de obter um token. Usar o MSAL.NET é mais fácil do que usar bibliotecas OAuth genéricas ou escrever chamadas contra o protocolo. O MSAL.NET oferece vários benefícios prontos a usar que simplificam o fluxo de trabalho do programador:

  • Mantém uma cache de tokens e renova os tokens por si quando estiverem prestes a expirar.
  • Ajuda-te a especificar a que público queres que a tua aplicação faça login (a tua organização, várias organizações, trabalho, escola e contas pessoais da Microsoft, identidades sociais com ID externo Microsoft Entra, ou utilizadores em clouds soberanas e nacionais).
  • Ajuda-te a configurar a aplicação através de ficheiros de configuração .
  • Ajuda-te a resolver problemas na aplicação ao expor exceções acionáveis, registos e telemetria.

Começar com o MSAL.NET

  1. Aprenda sobre cenários de utilização do MSAL.NET.
  2. Registe a sua aplicação com o Microsoft Entra ID.
  3. Saiba mais sobre os tipos de aplicações para clientes: cliente público e cliente confidencial.
  4. Saiba como adquirir tokens para aceder a uma API protegida.

Considerations

O MSAL.NET é usado para adquirir tokens. Não é usado para proteger uma API Web. Se está interessado em proteger uma Web API com Microsoft Entra ID, veja:

Migração a partir da Biblioteca de Autenticação Azure Active Directory (ADAL)

Biblioteca de Autenticação da Microsoft (MSAL) para .NET é a biblioteca suportada que pode ser usada para aquisição de tokens de autenticação. Se você ou a sua organização estiverem a usar a Biblioteca de Autenticação Azure Active Directory (ADAL), devem migrar para MSAL. A ADAL chegou ao fim de funcionamento a 30 de junho de 2023.

Note

Embora o ADAL esteja obsoleto desde 30 de junho de 2023, as aplicações dependentes do ADAL não devem falhar, pois o endpoint subjacente permanecerá ativo. No entanto, não serão oferecidas novas funcionalidades ou suporte para a ADAL.

Lançamentos

Para lançamentos anteriores, consulte os Lançamentos no GitHub.

Para desenvolvimentos em curso e versões futuras, consulte Milestones.

Para mais informações sobre versionamento, consulte Versionamento semântico - gestão de alterações da API para compreender alterações na API pública do MSAL.NET.

Samples

Consulte a nossa lista de exemplos abrangente.