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 | Início rápido | GA | ||
Angular | MSAL Angular3 | msal-angular | — | GA | ||
AngularJS | MSAL AngularJS3 | msal-angularjs | — | Versão prévia pública | ||
JavaScript | MSAL.js v22 | msal-browser | Tutorial | GA | ||
JavaScript | MSAL.js 1.03 | msal-core | — | GA | ||
React | MSAL React2 | msal-react | Início rápido | GA |
1 Os Termos de Licença Universal para Serviços Online se aplicam a bibliotecas em Visualização Pública.
2 Fluxo de código de autenticação somente com PKCE (Recomendado).
3 Fluxo de concessão implícito apenas (Não recomendado).
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 | — | GA | ||
.NET | Microsoft.IdentityModel | Microsoft.IdentityModel | — | 2 | 2 | GA |
ASP.NET Core | ASP.NET Core | Microsoft.AspNetCore.Authentication | Início rápido | GA | ||
ASP.NET Core | Microsoft.Identity.Web | Microsoft.Identity.Web | Início rápido | GA | ||
Java | MSAL4J | msal4j | Início rápido | GA | ||
Spring | spring-cloud-azure-starter-active-directory | spring-cloud-azure-starter-active-directory | Tutorial | GA | ||
Node.js | Nó MSAL | msal-node | Início rápido | GA | ||
Python | MSAL Python | msal | GA | |||
Python | identidade | identidade | Início rápido | -- |
(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 | — | Versão prévia pública | ||
Java | MSAL4J | msal4j | — | GA | ||
macOS (Swift/Obj-C) | MSAL para iOS e macOS | MSAL | Tutorial | GA | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Tutorial | GA | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Tutorial | GA |
1 Os 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 | GA | ||
Android (Kotlin) | MSAL Android | MSAL | — | GA | ||
iOS (Swift/Obj-C) | MSAL para iOS e macOS | MSAL | Tutorial | GA | ||
Xamarin (.NET) | MSAL.NET | Microsoft.Identity.Client | — | GA |
1 Os 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 | GA | ||
Java | MSAL4J | msal4j | — | GA | ||
Nó | Nó MSAL | msal-node | Início rápido | GA | ||
Python | MSAL Python | msal-python | Início rápido | GA |
1 Os 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).