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, X.
- 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 com vários fornecedores de início de sessão, 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ê 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:
- Adicionar início de sessão com a Microsoft a uma aplicação Web
- Permitir apenas que o usuário autenticado acesse uma API da Web
- Iniciar sessão de utilizadores numa aplicação de página única (SPA)
Para começar a usar Microsoft.Identity.Web, leia:
- Iniciar sessão de utilizadores numa aplicação Web
- Proteger uma API da Web
- Iniciar sessão de utilizadores numa aplicação Blazor Server
Saiba mais sobre a autenticação e autorização internas do Serviço de Aplicativo