Qual é a diferença entre o endpoint de logout de sessão e a API GlobalSignOut no Amazon Cognito?

3 minuto de leitura
0

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.


AWS OFICIAL
AWS OFICIALAtualizada há um ano