Editar

Autenticar e autorizar aplicativos Web estáticos

Aviso

Devido a alterações na política da API X (anteriormente Twitter), não podemos continuar a oferecer suporte a ela como parte dos provedores pré-configurados para seu aplicativo. Se você quiser continuar a usar o X (anteriormente Twitter) para autenticação/autorização com seu aplicativo, atualize a configuração do aplicativo para registrar um provedor personalizado.

Os Aplicativos Web Estáticos do Azure fornecem uma experiência de autenticação simplificada, na qual nenhuma outra ação ou configuração é necessária para usar o GitHub e a ID do Microsoft Entra para autenticação.

Neste artigo, saiba mais sobre o comportamento padrão, como configurar entrada e saída, como bloquear um provedor de autenticação e muito mais.

Você pode registrar um provedor personalizado, que desativa todos os provedores pré-configurados.

Pré-requisitos

Esteja ciente dos seguintes padrões e recursos para autenticação e autorização com os Aplicativos Web Estáticos do Azure.

Incumprimento:

  • 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 o login, os usuários pertencem às anonymous funções e authenticated . Para obter mais informações sobre funções, consulte Gerenciar funções

Recursos:

  • Definir regras no arquivo de staticwebapp.config.json para que usuários autorizados obtenham acesso a rotas restritas
  • Atribuir funções personalizadas aos usuários usando o sistema de convites interno
  • Atribua programaticamente aos usuários funções personalizadas no início de sessão com uma função de API
  • Entenda que a autenticação e a autorização se sobrepõem significativamente aos conceitos de roteamento, que são detalhados no Guia de configuração do aplicativo
  • Restrinja o início de sessão a um inquilino específico do Microsoft Entra configurando um fornecedor personalizado do Microsoft Entra. O provedor Microsoft Entra pré-configurado permite que qualquer conta da Microsoft entre.

Configurar o início de sessão

Os Aplicativos Web Estáticos do Azure usam a pasta do /.auth sistema para fornecer acesso a APIs relacionadas à autorização. Em vez de expor qualquer uma das rotas na /.auth pasta 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 Iniciar sessão no percurso
Microsoft Entra ID /.auth/login/aad
GitHub /.auth/login/github

Por exemplo, para entrar com o GitHub, você pode incluir algo semelhante ao link a seguir.

<a href="/.auth/login/github">Login</a>

Se você optar por oferecer suporte a mais de um provedor, exponha um link específico para cada provedor em seu 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 pós-início de sessão

Retorne um usuário a uma página específica depois que ele entrar fornecendo uma URL totalmente qualificada no parâmetro de cadeia de caracteres de post_login_redirect_uri consulta, como no exemplo a seguir.

<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 configure this behavior, 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 inscrição

A /.auth/logout rota faz com que os usuários saiam do site. Você pode adicionar um link à 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 pós-saída

Para retornar um usuário a uma página específica depois que ele sair, forneça uma URL no post_logout_redirect_uri parâmetro de cadeia de caracteres de consulta.

Bloquear um provedor de autenticação

Talvez você queira restringir seu aplicativo de usar um provedor de autenticação, já que todos os provedores de autenticação estão habilitados. Por exemplo, seu aplicativo pode querer padronizar apenas em provedores que expõem endereços de e-mail.

Para bloquear um provedor, você pode criar regras 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 Twitter como provedor, adicione a seguinte regra de rota.

{
  "route": "/.auth/login/twitter",
  "statusCode": 404
}

Remover dados pessoais

Quando você concede consentimento para um aplicativo como usuário final, o aplicativo tem acesso ao seu endereço de e-mail ou nome de usuário, dependendo do provedor de identidade. Uma vez que essas informações são fornecidas, o proprietário do aplicativo pode decidir como gerenciar os dados pessoais.

Os usuários finais precisam entrar em contato com administradores de aplicativos Web individuais para revogar essas informações de seus sistemas.

Para remover dados pessoais da plataforma Azure Static Web Apps 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.

Próximo passo