Bibliotecas de autenticação da plataforma de identidade da Microsoft
As tabelas a seguir mostram o suporte 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 se a biblioteca oferece suporte ao login do usuário (autenticação), acesso a APIs da Web protegidas (autorização) ou ambos.
A plataforma de identidade da Microsoft foi certificada pela OpenID Foundation como um provedor OpenID certificado. Se preferir usar uma biblioteca diferente da Microsoft Authentication Library (MSAL) ou outra biblioteca suportada pela Microsoft, escolha uma com uma implementação certificada do OpenID Connect.
Se você optar por codificar manualmente sua própria implementação de 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 práticas seguras de design e desenvolvimento de software, como as do Microsoft SDL.
Aplicação de página única (SPA)
Um aplicativo de página única é executado inteiramente no navegador e busca dados de página (HTML, CSS e JavaScript) dinamicamente ou no momento do carregamento do aplicativo. Ele pode chamar APIs da Web para interagir com fontes de dados back-end.
Como o código de um SPA é executado inteiramente no navegador, ele é considerado um cliente público que não consegue armazenar segredos com segurança.
Linguagem / framework | Projeto em GitHub |
Pacote | Como obter começar |
Iniciar sessão de utilizadores | Aceder a APIs Web | Geralmente disponível (GA) ou Pré-visualizaçãopública 1 |
---|---|---|---|---|---|---|
Angular | MSAL Angular v22 | msal-angular | Início rápido | GA | ||
Angular | MSAL Angular3 | msal-angular | — | GA | ||
AngularJS | MSAL AngularJS3 | MSAL-AngularJS | — | Pré-visualização pública | ||
JavaScript | MSAL.js v22 | msal-navegador | Tutorial | GA | ||
JavaScript | MSAL.js 1,03 | msal-núcleo | — | GA | ||
React | MSAL Reagir2 | msal-react | Início rápido | GA |
1 Os Termos de Licença Universal para Serviços Online aplicam-se às bibliotecas na Pré-visualização Pública.
2 Fluxo de código de autenticação apenas com PKCE (Recomendado).
3 Apenas fluxo de concessão implícito (Não recomendado).
aplicação Web
Um aplicativo Web executa código em um servidor que gera e envia HTML, CSS e JavaScript para o 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 pode armazenar segredos com segurança.
Linguagem / framework | Projeto em GitHub |
Pacote | Como obter começar |
Iniciar sessão de utilizadores | Aceder a APIs Web | Geralmente disponível (GA) ou Pré-visualizaçãopública 1 |
---|---|---|---|---|---|---|
.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-nó | 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 aplicam-se às bibliotecas na Pré-visualização Pública.
(2) A biblioteca Microsoft.IdentityModel apenas valida tokens - não pode solicitar ID ou tokens de acesso.
Aplicação de ambiente de trabalho
Uma aplicação de ambiente de trabalho é normalmente um código binário (compilado) que apresenta uma interface de utilizador e se destina a ser executado no ambiente de trabalho de um utilizador.
Como um aplicativo de desktop é executado na área de trabalho do usuário, ele é considerado um cliente público que não consegue armazenar segredos com segurança.
Linguagem / framework | Projeto em GitHub |
Pacote | Como obter começar |
Iniciar sessão de utilizadores | Aceder a APIs Web | Geralmente disponível (GA) ou Pré-visualizaçãopública 1 |
---|---|---|---|---|---|---|
Electron | MSAL Node.js | msal-nó | — | Pré-visualização 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 aplicam-se às bibliotecas na Pré-visualização Pública.
Aplicação móvel
Uma aplicação móvel é normalmente um código binário (compilado) que apresenta uma interface de utilizador e se destina a ser executado no dispositivo móvel de um utilizador.
Como um aplicativo móvel é executado no dispositivo móvel do usuário, ele é considerado um cliente público que não consegue armazenar segredos com segurança.
Plataforma | Projeto em GitHub |
Pacote | Como obter começar |
Iniciar sessão de utilizadores | Aceder a APIs Web | Geralmente disponível (GA) ou Pré-visualizaçãopública 1 |
---|---|---|---|---|---|---|
Android (Java) | MSAL Android | MSAL | Início rápido | GA | ||
Androide (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 aplicam-se às bibliotecas na Pré-visualização Pública.
Serviço / daemon
Serviços e daemons são comumente usados para comunicação de servidor para servidor e outras comunicações autônomas (às vezes chamadas de sem cabeça). Como não há nenhum usuário no teclado para inserir credenciais ou consentir o acesso a recursos, esses aplicativos são autenticados como eles mesmos, não como um usuário, ao solicitar acesso autorizado aos recursos de uma API da Web.
Um serviço ou daemon executado em um servidor é considerado um cliente confidencial que pode armazenar seus segredos com segurança.
Linguagem / framework | Projeto em GitHub |
Pacote | Como obter começar |
Iniciar sessão de utilizadores | Aceder a APIs Web | Geralmente disponível (GA) ou Pré-visualizaçãopública 1 |
---|---|---|---|---|---|---|
.NET | MSAL.NET | Microsoft.Identity.Client | Início rápido | GA | ||
Java | MSAL4J | MSAL4J | — | GA | ||
Nó | Nó MSAL | msal-nó | 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 aplicam-se às bibliotecas na Pré-visualização Pública.
Próximos passos
Para obter mais informações sobre a Biblioteca de Autenticação da Microsoft, consulte Visão geral da Biblioteca de Autenticação da Microsoft (MSAL).