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 integrar-se a vários provedores de login, como Microsoft Entra, Facebook, Google, X.
- 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 integrar-se a vários provedores de login, como Microsoft Entra, Facebook, Google, X.
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:
- Adicionar a entrada com a Microsoft a um aplicativo Web
- Permitir que apenas usuários autenticados acessem uma API Web
- Conectar usuários a um aplicativo de página única (SPA)
Para começar a usar o Microsoft.Identity.Web, leia:
- Conectar usuários a um aplicativo Web
- Proteger uma API Web
- Conecte os usuários a um aplicativo Blazor Server
Saiba mais sobre a autenticação e autorização integradas do Serviço de Aplicativo