Biblioteca de Autenticação da Microsoft para .NET

MSAL.NET (Microsoft. Identity.Client) é uma biblioteca de autenticação que permite que você adquira tokens de Microsoft Entra ID para acessar APIs Web protegidas (APIs Microsoft ou aplicativos registrados com Microsoft Entra ID).

MSAL.NET está disponível em várias plataformas de .NET (desktop, dispositivos móveis e Web).

Plataformas e arquiteturas de aplicativos com suporte

MSAL.NET dá suporte a topologias de aplicativo diferentes, incluindo:

  • Clientes nativos (aplicativos móveis ou de área de trabalho) chamando o Microsoft API do Graph em nome de um usuário.
  • Daemons, serviços ou clientes Web (aplicativos Web ou APIs Web) que chamam a API do Microsoft Graph em nome de um usuário ou sem usuário.

Para obter mais informações sobre os cenários com suporte, consulte Cenários.

MSAL.NET dá suporte a várias plataformas, incluindo .NET, .NET Framework e .NET MAUI.

Note

Nem todos os recursos de autenticação estão disponíveis em todas as plataformas.

  • As plataformas móveis não permitem fluxos de cliente confidenciais. Eles não devem funcionar como um back-end e não podem armazenar segredos com segurança.
  • Em clientes públicos (móveis e computadores), o navegador padrão e os URIs de redirecionamento são diferentes de plataforma para plataforma, e a disponibilidade do broker varia (detalhes na documentação sobre uso do navegador).

Note

MSAL.NET é otimizado para uso com Microsoft Entra ID como o IDP (provedor de identidade). Embora seja possível usar MSAL.NET com IDPs de terceiros que dão suporte ao OAuth 2. 0 — especialmente ao usar navegadores inseridos ou do sistema((consulte na documentação de uso do navegador)) — a interoperabilidade não é garantida. Microsoft não oferece suporte para problemas decorrentes de integrações IDP de terceiros. Esses cenários são considerados de melhor esforço e podem não ser resolvidos.

Note

MSAL.NET versões 4.61.0 e superiores 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.

Por que usar MSAL.NET?

MSAL.NET fornece várias maneiras de obter um token. Usar MSAL.NET é mais fácil do que usar bibliotecas OAuth genéricas ou gravar chamadas no protocolo. MSAL.NET fornece vários benefícios prontos para uso que simplificam o fluxo de trabalho do desenvolvedor:

  • Mantenha um cache de token e tokens de atualização para você quando estiverem perto de expirar.
  • Ajuda você a especificar para qual público deseja que seu aplicativo permita a entrada (sua organização, várias organizações, contas corporativas ou de estudante e contas pessoais da Microsoft, identidades sociais com o ID externa do Microsoft Entra ou usuários em nuvens soberanas e nacionais).
  • Ajuda você a configurar o aplicativo por meio de arquivos de configuração .
  • Ajuda você a solucionar problemas do aplicativo expondo exceções acionáveis, registro em log e telemetria.

Introdução ao MSAL.NET

  1. Saiba mais sobre MSAL.NET cenários de uso.
  2. Registre seu aplicativo com Microsoft Entra ID.
  3. Saiba mais sobre os tipos de aplicativos cliente: cliente público e cliente confidencial.
  4. Saiba mais sobre como adquirir tokens para acessar uma API protegida.

Considerações

MSAL.NET é usado para adquirir tokens. Ele não é usado para proteger uma API Web. Se você estiver interessado em proteger uma API Web com Microsoft Entra ID, confira:

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

Biblioteca do Microsoft Authenticator (MSAL) para .NET é a biblioteca com suporte que pode ser usada para aquisição de token de autenticação. Se você ou sua organização estiver usando a ADAL (Biblioteca de Autenticação Azure Active Directory), você deverá migrar para a MSAL. A ADAL chegou ao fim da vida útil em 30 de junho de 2023.

Note

Embora a ADAL tenha sido preterida em 30 de junho de 2023, os aplicativos que dependem dela não devem deixar de funcionar, pois o ponto de extremidade subjacente permanecerá ativo. No entanto, nenhum novo recurso ou suporte será oferecido para a ADAL.

Lançamentos

Para versões anteriores, consulte as versões em GitHub.

Para trabalho em andamento e versões futuras, consulte Marcos.

Para obter mais informações sobre controle de versão, consulte Controle de versão semântico – Gerenciamento de alterações de API para entender as alterações na API pública MSAL.NET.

Exemplos

Confira nossa lista de exemplos abrangente.