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 própria implementação em nível de protocolo do OAuth 2.0 ou OpenID Connect 1.0, preste muita atenção às considerações de segurança na especificação de cada padrão e siga uma metodologia de ciclo de vida de desenvolvimento de software (SDL) 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 Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Angular MSAL Angular3 msal-angular Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
AngularJS MSAL AngularJS3 msal-angularjs Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Versão prévia pública
JavaScript MSAL.js v22 msal-browser Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
JavaScript MSAL.js 1.03 msal-core Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
React MSAL React2 msal-react Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA

1Os termos de uso suplementares para as visualizações do Microsoft Azure se aplicam às bibliotecas em Visualização pública.

2Fluxo de código de autenticação somente com PCKE (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 Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. 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 Segurança do ASP.NET Microsoft.AspNetCore.Authentication Início rápido Library can request ID tokens for user sign-in. Library cannot request access tokens for protected web APIs. GA
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web Início rápido Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Java MSAL4J msal4j Início rápido Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Node.js Nó MSAL msal-node Início rápido Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Python MSAL Python msal Início rápido Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA

1Os termos de uso suplementares para as visualizações do Microsoft Azure se aplicam às bibliotecas em Visualização pública.

2 A biblioteca Microsoft.IdentityModelvalida tokens - não é possível solicitar ID ou tokens de acesso.

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 Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. Versão prévia pública
Java MSAL4J msal4j Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
macOS (Swift/Obj-C) MSAL para iOS e macOS MSAL Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
UWP MSAL.NET Microsoft.Identity.Client Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
WPF MSAL.NET Microsoft.Identity.Client Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA

1Os termos de uso suplementares para as visualizações do Microsoft Azure se aplicam às 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 Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Android (Kotlin) MSAL Android MSAL Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
iOS (Swift/Obj-C) MSAL para iOS e macOS MSAL Tutorial Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client Library can request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA

1Os termos de uso suplementares para as visualizações do Microsoft Azure se aplicam às 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 Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Java MSAL4J msal4j Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Nó MSAL msal-node Início rápido Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA
Python MSAL Python msal-python Início rápido Library cannot request ID tokens for user sign-in. Library can request access tokens for protected web APIs. GA

1Os termos de uso suplementares para as visualizações do Microsoft Azure se aplicam às 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).