Bibliotecas de autenticação da plataforma de identidade da Microsoft

As tabelas a seguir mostram a compatibilidade da Biblioteca de Autenticação da Microsoft para vários tipos de aplicativos. Eles incluem links para o código-fonte da biblioteca, onde obter o pacote para o projeto do seu aplicativo e informações de compatibilidade da biblioteca a credenciais do usuário (autenticação), acesso a APIs Web protegidas (autorização) ou ambos.

A plataforma de identidade da Microsoft foi certificada pela OpenID Foundation como provedor OpenID certificado. Se preferir usar uma biblioteca diferente da Biblioteca de Autenticação da Microsoft (MSAL) ou outra com compatibilidade com a Microsoft, escolha uma com implementação OpenID Connect certificada.

Se você optar por codificar manualmente sua implementação em nível de protocolo do OAuth 2.0 ou do OpenID Connect 1.0, preste muita atenção às considerações sobre segurança na especificação de cada padrão e siga práticas de design e desenvolvimento de software seguro como o Microsoft SDL.

SPA (Aplicativo de Página Única)

Um aplicativo de página única é executado inteiramente no navegador e busca dados de página (HTML, CSS e JavaScript) dinamicamente ou no tempo de carregamento do aplicativo. Ele pode chamar APIs Web para interagir com fontes de dados de back-end.

Como o código de um SPA é executado inteiramente no navegador, ele é considerado um cliente público que não armazena segredos com segurança.

Idioma / estrutura Projeto em
GitHub
Pacote Introdução
iniciado
Conectar usuários Acessar APIs da Web Geralmente disponíveis (GA) ou
Visualização pública1
Angular MSAL Angular v22 msal-angular Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Angular MSAL Angular3 msal-angular A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
AngularJS MSAL AngularJS3 msal-angularjs A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. Versão prévia pública
JavaScript MSAL.js v22 msal-browser Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
JavaScript MSAL.js 1.03 msal-core A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
React MSAL React2 msal-react Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA

1Os Termos de Licença Universal para Serviços Online se aplicam a bibliotecas em Visualização Pública.

2Fluxo de código de autenticação somente com PKCE (Recomendado).

3Fluxo de concessão implícita apenas.

Aplicativo Web

Um aplicativo Web executa o código em um servidor que gera e envia HTML, CSS e JavaScript ao navegador da Web de um usuário para ser renderizado. A identidade do usuário é mantida como uma sessão entre o navegador do usuário (o front-end) e o servidor Web (o back-end).

Como o código de um aplicativo Web é executado no servidor Web, ele é considerado um cliente confidencial que armazena segredos com segurança.

Idioma / estrutura Projeto em
GitHub
Pacote Introdução
iniciado
Conectar usuários Acessar APIs da Web Geralmente disponíveis (GA) ou
Visualização pública1
.NET MSAL.NET Microsoft.Identity.Client A biblioteca não pode solicitar tokens de ID para login do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
.NET Microsoft.IdentityModel Microsoft.IdentityModel Library cannot request ID tokens for user sign-in.2 Library cannot request access tokens for protected web APIs.2 GA
ASP.NET Core ASP.NET Core Microsoft.AspNetCore.Authentication Início rápido A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca não pode solicitar tokens de acesso para APIs da Web protegidas. GA
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Início rápido A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Java MSAL4J msal4j Início rápido A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Node.js Nó MSAL msal-node Início rápido A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Python MSAL Python msal A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Python identidade identidade Início rápido A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. --

(1)Os Termos de Licença Universal para Serviços Online se aplicam a bibliotecas em Visualização Pública.

(2) Somente a biblioteca Microsoft.IdentityModelvalida os tokens; ela não pode solicitar ID ou acessar os tokens.

Aplicativo da área de trabalho

Um aplicativo da área de trabalho normalmente é um código binário (compilado) que exibe uma interface do usuário e é planejado para ser executado na área de trabalho do usuário.

Como um aplicativo da área de trabalho é executado na área de trabalho do usuário, ele é considerado um cliente público que armazena segredos com segurança.

Idioma / estrutura Projeto em
GitHub
Pacote Introdução
iniciado
Conectar usuários Acessar APIs da Web Geralmente disponíveis (GA) ou
Visualização pública1
Electron MSAL Node.js msal-node A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. Versão prévia pública
Java MSAL4J msal4j A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
macOS (Swift/Obj-C) MSAL para iOS e macOS MSAL Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
UWP MSAL.NET Microsoft.Identity.Client Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
WPF MSAL.NET Microsoft.Identity.Client Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA

1Os Termos de Licença Universal para Serviços Online se aplicam a bibliotecas em Visualização Pública.

Aplicativo móvel

Um aplicativo móvel normalmente é um código binário (compilado) que exibe uma interface do usuário e é planejado para ser executado no dispositivo móvel do usuário.

Como um aplicativo móvel é executado no móvel do usuário, ele é considerado um cliente público que armazena segredos com segurança.

Plataforma Projeto em
GitHub
Pacote Introdução
iniciado
Conectar usuários Acessar APIs da Web Geralmente disponíveis (GA) ou
Visualização pública1
Android (Java) MSAL Android MSAL Início rápido A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Android (Kotlin) MSAL Android MSAL A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
iOS (Swift/Obj-C) MSAL para iOS e macOS MSAL Tutorial A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client A biblioteca pode solicitar tokens de ID para entrada do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA

1Os Termos de Licença Universal para Serviços Online se aplicam a bibliotecas em Visualização Pública.

Serviço/daemon

Os serviços e daemons são comumente usados para comunicação entre servidores e outras comunicações autônomas (às vezes chamadas de sem periféricos). Como não há usuário no teclado para inserir as credenciais ou consentir com o acesso aos recursos, esses aplicativos são autenticados como eles mesmos, e não um usuário, ao solicitar acesso autorizado aos recursos de uma API Web.

Um serviço ou daemon executado em um servidor é considerado um cliente confidencial que armazena segredos com segurança.

Idioma / estrutura Projeto em
GitHub
Pacote Introdução
iniciado
Conectar usuários Acessar APIs da Web Geralmente disponíveis (GA) ou
Visualização pública1
.NET MSAL.NET Microsoft.Identity.Client Início rápido A biblioteca não pode solicitar tokens de ID para login do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Java MSAL4J msal4j A biblioteca não pode solicitar tokens de ID para login do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Nó MSAL msal-node Início rápido A biblioteca não pode solicitar tokens de ID para login do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA
Python MSAL Python msal-python Início rápido A biblioteca não pode solicitar tokens de ID para login do usuário. A biblioteca pode solicitar tokens de acesso para APIs da Web protegidas. GA

1Os Termos de Licença Universal para Serviços Online se aplicam a bibliotecas em Visualização Pública.

Próximas etapas

Para mais informações sobre a biblioteca de autenticação da Microsoft, confira a Visão geral da biblioteca de autenticação da Microsoft (MSAL).