Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os Aplicativos Web Estáticos do Azure fornecem uma experiência de autenticação simplificada na qual nenhuma ação ou configuração extra é necessária para usar o GitHub e o Microsoft Entra ID para autenticação. Todos os recursos listados neste artigo estão disponíveis em todos os planos de Aplicativos Web Estáticos.
Neste artigo, saiba mais sobre o comportamento padrão, como configurar a entrada e a saída, como bloquear um provedor de autenticação e muito mais. Para ler os detalhes de autenticação para um uso específico, consulte Acessar informações do usuário.
É possível registrar um provedor personalizado, que desabilita todos os provedores pré-configurados.
Aviso
Devido a mudanças na política da API do X (anteriormente Twitter), o suporte não está disponível como parte dos provedores pré-configurados para o seu aplicativo. Se você deseja continuar usando o X (anteriormente Twitter) para autenticação/autorização com seu aplicativo, atualize a configuração do seu aplicativo para registrar um provedor personalizado.
Pré-requisitos
Tenha em mente os seguintes padrões e recursos para autenticação e autorização com Aplicativos Web Estáticos do Azure.
Padrões:
- Qualquer usuário pode se autenticar com um provedor pré-configurado
- GitHub
- Microsoft Entra ID
- Para restringir um provedor de autenticação, bloqueie o acesso com uma regra de rota personalizada
- Após a entrada, os usuários pertencerão às funções
anonymous
eauthenticated
. Para saber mais sobre as funções, confira Gerenciar funções
Recursos:
- Definir as regras no arquivo staticwebapp.config.json file para que os usuários autorizados obtenham acesso a rotas restritas
- Atribuir funções personalizadas a usuários usando o sistema de convites interno
- Atribuir programaticamente funções personalizadas de usuários ao entrar com uma função de API
- Entender que a autenticação e a autorização se sobrepõem de forma significativa com os conceitos de roteamento, que são detalhados no Guia de configuração do aplicativo
- Restringir a entrada a um locatário do Microsoft Entra ID específico configurando um provedor do Microsoft Entra ID personalizado. O provedor do Microsoft Entra ID pré-configurado permite a entrada de qualquer conta Microsoft.
Configurar credenciais
O serviço Aplicativos Web Estáticos do Azure usam a pasta do sistema /.auth
para fornecer acesso a APIs relacionadas à autorização. Em vez de expor qualquer uma das rotas na pasta /.auth
diretamente aos usuários finais, crie regras de roteamento para URLs amigáveis.
Use a tabela a seguir para localizar a rota específica do provedor.
Provedor de autorização | Rota de entrada |
---|---|
Microsoft Entra ID | /.auth/login/aad |
GitHub | /.auth/login/github |
Por exemplo, para entrar com o GitHub, você pode usar uma URL semelhante ao exemplo a seguir.
<a href="/.auth/login/github">Login</a>
Se você optar por dar suporte a mais de um provedor, use um link específico do provedor para cada provedor no site. Use uma regra de rota para mapear um provedor padrão para uma rota amigável como /login.
{
"route": "/login",
"redirect": "/.auth/login/github"
}
Configurar o redirecionamento após a entrada
Você pode retornar um usuário a uma página específica depois que ele entrar fornecendo uma URL totalmente qualificada no parâmetro da cadeia de consulta post_login_redirect_uri
.
<a href="/.auth/login/github?post_login_redirect_uri=https://zealous-water.azurestaticapps.net/success">Login</a>
You can also redirect unauthenticated users back to the referring page after they sign in. To add this redirect, create a response override rule that sets post_login_redirect_uri
to .referrer
, like in the following example.
{
"responseOverrides": {
"401": {
"redirect": "/.auth/login/github?post_login_redirect_uri=.referrer",
"statusCode": 302
}
}
}
Configurar a saída
A rota /.auth/logout
desconecta os usuários do site. Você pode adicionar um link para a navegação do site para permitir que o usuário saia, como no exemplo a seguir.
<a href="/.auth/logout">Log out</a>
Use uma regra de rota para mapear uma rota amigável como /logout.
{
"route": "/logout",
"redirect": "/.auth/logout"
}
Configurar o redirecionamento após a saída
Para retornar um usuário a uma página específica após ele sair, forneça uma URL no parâmetro de cadeia de caracteres de consulta post_logout_redirect_uri
.
Bloquear um provedor de autenticação
Por padrão, todos os provedores de autenticação estão habilitados, mas talvez você queira impedir que seu aplicativo use um provedor. Por exemplo, seu aplicativo pode querer usar apenas provedores que expõem endereços de email.
Para bloquear um provedor, crie uma regra de rota para retornar um código de status 404
para solicitações para a rota específica do provedor bloqueado. Por exemplo, para restringir o provedor Entra ID (antigo Azure Active Directory, conhecido como "aad"), adicione a seguinte regra de rota.
{
"route": "/.auth/login/aad",
"statusCode": 404
}
Remover dados pessoais
Quando você dá consentimento a um aplicativo como um usuário final, o aplicativo tem acesso ao seu endereço de email ou nome de usuário, dependendo do provedor de identidade. Depois que essas informações são fornecidas, o proprietário do aplicativo poderá decidir como gerenciar dados pessoais.
Os usuários finais precisam entrar em contato com os administradores de aplicativos Web individuais para revogar essas informações de seus sistemas.
Para remover dados pessoais da plataforma de Aplicativos Web Estáticos do Azure e impedir que a plataforma forneça essas informações em solicitações futuras, envie uma solicitação usando a seguinte URL:
https://identity.azurestaticapps.net/.auth/purge/<AUTHENTICATION_PROVIDER_NAME>
To prevent the platform from providing this information on future requests to individual apps, submit a request using the following URL:
https://<WEB_APP_DOMAIN_NAME>/.auth/purge/<AUTHENTICATION_PROVIDER_NAME>
If you're using Microsoft Entra ID, use aad
as the value for the <AUTHENTICATION_PROVIDER_NAME>
placeholder.
Tip
For information about general restrictions and limitations, see Quotas.