Qual é a diferença entre o endpoint de logout de sessão e a API GlobalSignOut no Amazon Cognito?
Quero entender como usar o endpoint de logout de sessão e a API GlobalSignOut no Amazon Cognito.
Breve descrição
O endpoint de logout do Amazon Cognito limpa a sessão de um usuário em um navegador. A API GlobalSignOut invalida todos os tokens de acesso e atualização emitidos para um usuário específico.
Resolução
Desconectar usuários com o endpoint de logout
Quando você usa um endpoint hospedado para autenticação do usuário, o Amazon Cognito armazena um cookie chamado “cognito” no navegador. O cookie está associado ao domínio do Amazon Cognito que está configurado com seu grupo de usuários. O cookie é válido por 1 hora. Quando um usuário tenta fazer login novamente durante uma sessão ativa, o Amazon Cognito pergunta ao usuário se ele deseja continuar a sessão existente. Isso permite que o usuário faça login sem fornecer credenciais. Se um usuário escolher o botão Sign in as example_username (Fazer login como exemplo_de_nome_de_usuário) para usar uma sessão existente, a validade do cookie será redefinida para 1 hora.
Quando um usuário visita o endpoint de logout em seu navegador, o Amazon Cognito limpa o cookie da sessão. O usuário deve fornecer suas credenciais para fazer login novamente.
Quando um usuário faz login com provedores de identidades (IdPs) de terceiros, há uma etapa extra a ser executada. Se um usuário fizer login usando um dos IdPs de terceiros, visitar o endpoint de logout apagará o cookie “cognito” do navegador. No entanto, o IdP ainda pode ter uma sessão ativa. Considere as seguintes informações ao limpar a sessão de IdP do usuário:
- O Amazon Cognito oferece suporte ao recurso de Single Logout (SLO – Logout único) para IdPs de Security Assertion Markup Language versão 2.0 (SAML 2.0) com vinculação HTTP POST. Se seu provedor aceitar a vinculação HTTP POST em seu endpoint de SLO, considere implementar o SLO para IdPs de SAML. Se um usuário visitar o endpoint de logout com o SLO ativado, o Amazon Cognito enviará uma solicitação de desconexão assinada para o IdP de SAML. Em seguida, o IdP de SAML limpa a sessão do IdP.
- Para IdPs sociais e OpenID Connect (OIDC), você deve criar um fluxo de trabalho personalizado para limpar a sessão do IdP do navegador.
Desconectar usuários com a API GlobalSignOut
Quando você usa a API GlobalSignOut, o Amazon Cognito revoga todos os tokens de acesso e atualização emitidos para um usuário. Observe que somente o Amazon Cognito é informado da revogação do token. Sua aplicação pode continuar aceitando os tokens até que eles expirem.
Sua aplicação pode usar as APIs GlobalSignOut e AdminUserGlobalSignOut para desconectar usuários globalmente. Quando sua aplicação usa APIs REST para autenticação de usuários do Amazon Cognito, você deve usar essas APIs para desconectar usuários.
Quando a aplicação tenta usar um token revogado, o Amazon Cognito gera um erro indicando que você revogou o token de atualização. O usuário deve fazer login novamente para obter um novo conjunto de JSON Web Tokens (JWTs – Tokens Web JSON).
Você pode configurar o tempo de expiração dos seus tokens de acesso e ID no cliente da aplicação de grupo de usuários. Você pode alterar o tempo de expiração para um valor entre 5 minutos e 24 horas.
Conteúdo relevante
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 10 meses
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos