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 Aplicativos oferece várias soluções de autenticação para ajudar você 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 nos cenários específicos.

Soluções de Autenticação

  • Autenticação integrada do Serviço de Aplicativo do Azure: Permite que você conecte usuários e acesse dados escrevendo o mínimo ou nenhum código em seu aplicativo Web, API RESTful ou back-end móvel. Ele é integrado diretamente à plataforma e não exige nenhuma linguagem específica, biblioteca, conhecimento de segurança ou mesmo qualquer código para ser utilizado.
  • 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 Web protegidas. Disponíveis para várias plataformas e estruturas com suporte, essas são bibliotecas de uso geral que podem ser utilizadas em vários ambientes hospedados. Os desenvolvedores também podem se integrar a vários provedores de entrada, como o Microsoft Entra, o Facebook, o Google e o Twitter.
  • Microsoft.Identity.Web: Uma biblioteca de nível superior que envolve a MSAL.NET, ela fornece um conjunto de abstrações do ASP.NET Core que simplifica a adição do suporte de autenticação a aplicativos Web e APIs Web que se integram à plataforma de identidade da Microsoft. Ele fornece uma camada de conveniência de API de superfície única que une o ASP.NET Core, seu middleware de autenticação e a MSAL.NET. Essa biblioteca pode ser utilizada em aplicativos em vários ambientes hospedados. Você pode se integrar a vários provedores de entrada, como o Microsoft Entra, o Facebook, o Google e o Twitter.

Recomendações de Cenários

A tabela a seguir lista cada solução de autenticação e alguns fatores importantes para quando você deve usá-la.

Método de autenticação Quando usar
Autenticação integrada do Serviço de Aplicativo * Você gostaria de ter menos código para gerenciar.
* A linguagem e os SDKs do seu aplicativo não fornecem entrada ou autorização de usuário.
* Você não pode modificar o código do 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.
MSAL (Biblioteca de Autenticação da Microsoft) * Você precisa de uma solução de código em um dos vários idiomas diferentes
* Você precisa adicionar uma lógica de autorização personalizada.
* Você precisa dar suporte para o consentimento incremental.
* Você precisa de informações sobre o usuário que está conectado em seu código.
* Você precisa entrar em usuários externos ou sociais.
* Seu aplicativo precisa lidar com a expiração do token de acesso de forma que o usuário não precise entrar novamente.
Microsoft.Identity.Web * Você tem um aplicativo ASP.NET Core.
* Você precisa de suporte para o logon único no seu IDE durante o desenvolvimento local.
* Você precisa adicionar uma lógica de autorização personalizada.
* Você precisa dar suporte para o consentimento incremental.
* Você precisa ter o acesso condicional em seu aplicativo Web.
* Você precisa de informações sobre o usuário que está conectado em seu código.
* Você precisa entrar em usuários externos ou sociais.
* Seu aplicativo precisa lidar com a expiração do token de acesso de forma que o usuário não precise 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 interna 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 na sua organização?
Não é possível modificar o código do aplicativo (cenário de migração do aplicativo)?
A linguagem e as bibliotecas do seu aplicativo têm suporte para entrada/autorização do usuário?
Mesmo que você possa usar uma solução de código, você prefere não usar bibliotecas? Não quer se preocupar com a manutenção?
Seu aplicativo Web precisa fornecer o consentimento incremental?
Você precisa ter o acesso condicional em seu aplicativo Web?
Seu aplicativo precisa lidar com a expiração do token de acesso sem fazer com que o usuário entre novamente (use um token de atualização)?
Precisa de uma lógica de autorização personalizada ou de informações sobre o usuário conectado?
Precisa conectar usuários de provedores 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 a integração com o Visual Studio?
Precisa de suporte para o logon único no seu IDE durante o desenvolvimento local?

Próximas etapas

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

Para começar a usar a Biblioteca de Autenticação da Microsoft (MSAL), leia:

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

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