Cenários e recomendações de autenticação

Se você tiver um aplicativo Web ou uma API em execução no Serviço de Aplicativo do Azure, poderá restringir o acesso a ele com base na identidade dos usuários ou aplicativos que o solicitam. O Serviço de Aplicativo oferece várias soluções de autenticação para ajudá-lo a atingir esse objetivo. Neste artigo, você aprenderá sobre as diferentes opções de autenticação, seus benefícios e desvantagens, e qual solução de autenticação usar para cenários específicos.

Soluções de autenticação

  • Autenticação interna do Serviço de Aplicativo do Azure - Permite que você entre usuários e acesse dados escrevendo pouco ou nenhum código em seu aplicativo Web, API RESTful ou back-end móvel. Ele é construído diretamente na plataforma e não requer nenhuma linguagem específica, biblioteca, experiência em segurança ou mesmo qualquer código para usar.
  • Biblioteca de Autenticação da Microsoft (MSAL) - Permite que os desenvolvedores adquiram tokens de segurança da plataforma de identidade da Microsoft para autenticar usuários e acessar APIs da Web seguras. Disponível para várias plataformas e estruturas suportadas, essas são bibliotecas de uso geral que podem ser usadas em vários ambientes hospedados. Os programadores também podem integrar-se com vários fornecedores de início de sessão, como Microsoft Entra, Facebook, Google, Twitter.
  • Microsoft.Identity.Web - Um MSAL.NET de encapsulamento de biblioteca de nível superior, ele fornece um conjunto de abstrações ASP.NET Core que simplificam a adição de suporte à autenticação a aplicativos Web e APIs da Web que se integram à plataforma de identidade da Microsoft. Ele fornece uma camada de conveniência de API de superfície única que une ASP.NET Core, seu middleware de autenticação e MSAL.NET. Essa biblioteca pode ser usada em aplicativos em vários ambientes hospedados. Pode integrar-se com vários fornecedores de início de sessão, como Microsoft Entra, Facebook, Google, Twitter.

Recomendações de cenários

A tabela a seguir lista cada solução de autenticação e alguns fatores importantes para quando você a usaria.

Método de autenticação Quando utilizar o
Autenticação interna do Serviço de Aplicativo * Você quer menos código para possuir e gerenciar.
* O idioma e os SDKs do seu aplicativo não fornecem login ou autorização do usuário.
* Você não tem a capacidade de modificar o código do seu aplicativo (por exemplo, ao migrar aplicativos herdados).
* Você precisa lidar com a autenticação através da configuração e não do código.
* Você precisa entrar em usuários externos ou sociais.
Biblioteca de Autenticação da Microsoft (MSAL) * Você precisa de uma solução de código em uma das várias linguagens diferentes
* Você precisa adicionar lógica de autorização personalizada.
* Você precisa suportar o consentimento incremental.
* Você precisa de informações sobre o usuário conectado em seu código.
* Você precisa entrar em usuários externos ou sociais.
* Seu aplicativo precisa lidar com o token de acesso expirando sem fazer o usuário entrar novamente.
Microsoft.Identity.Web * Você tem um aplicativo ASP.NET Core.
* Você precisa de suporte de logon único em seu IDE durante o desenvolvimento local.
* Você precisa adicionar lógica de autorização personalizada.
* Você precisa suportar o consentimento incremental.
* Você precisa de acesso condicional em seu aplicativo web.
* Você precisa de informações sobre o usuário conectado em seu código.
* Você precisa entrar em usuários externos ou sociais.
* Seu aplicativo precisa lidar com o token de acesso expirando sem fazer o usuário entrar novamente.

A tabela a seguir lista os cenários de autenticação e a(s) solução(ões) de autenticação que você usaria.

Cenário Autenticação integrada do Serviço de Aplicativo Biblioteca de Autenticação da Microsoft Microsoft.Identity.Web
Precisa de uma maneira rápida e simples de limitar o acesso aos usuários em sua organização?
Não é possível modificar o código do aplicativo (cenário de migração do aplicativo)?
O idioma e as bibliotecas do seu aplicativo oferecem suporte à entrada/autorização do usuário?
Mesmo que você possa usar uma solução de código, prefere não usar bibliotecas? Não quer o encargo de manutenção?
Seu aplicativo Web precisa fornecer consentimento incremental?
Precisa de acesso condicional na sua aplicação Web?
Seu aplicativo precisa lidar com o token de acesso expirando sem fazer o usuário entrar novamente (usar um token de atualização)?
Precisa de lógica de autorização personalizada ou informações sobre o usuário conectado?
Precisa de iniciar sessão em utilizadores de fornecedores de identidade externos ou sociais?
Você tem um aplicativo ASP.NET Core?
Você tem um aplicativo de página única ou um aplicativo Web estático?
Quer integração com o Visual Studio?
Precisa de suporte de logon único em seu IDE durante o desenvolvimento local?

Próximos passos

Para começar a usar a autenticação interna do Serviço de Aplicativo, leia:

Para começar a usar a Microsoft Authentication Library (MSAL), leia:

Para começar a usar Microsoft.Identity.Web, leia:

Saiba mais sobre a autenticação e autorização internas do Serviço de Aplicativo