Encerrar sessões de usuário com revogação de token - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Encerrar sessões de usuário com revogação de token

Você pode revogar tokens de atualização e sessões de usuário final com os métodos a seguir. Quando você revoga um token de atualização, todos os tokens de acesso que foram emitidos anteriormente por esse token de atualização se tornam inválidos. Os outros tokens de atualização emitidos para o usuário não são afetados.

RevokeToken operação

RevokeTokenrevoga todos os tokens de acesso de um determinado token de atualização, incluindo o token de acesso inicial do login interativo. Essa operação não afeta nenhum dos outros tokens de atualização do usuário nem os filhos de ID e token de acesso desses outros tokens de atualização.

Ponto final de revogação

O endpoint revoke revoga um determinado token de atualização e todos os tokens de ID e acesso que o token de atualização gerou. Esse endpoint também revoga o token de acesso inicial do login interativo. As solicitações para esse endpoint não afetam nenhum dos outros tokens de atualização do usuário nem os filhos de ID e token de acesso desses outros tokens de atualização.

GlobalSignOut operação

GlobalSignOuté uma operação de autoatendimento que um usuário autoriza com seu token de acesso. Essa operação revoga todos os tokens de atualização, ID e acesso do usuário solicitante.

AdminUserGlobalSignOut operação

AdminUserGlobalSignOuté uma operação do lado do servidor que um administrador autoriza com credenciais do IAM. Essa operação revoga todos os tokens de atualização, ID e acesso do usuário alvo.

Coisas que você deve saber sobre a revogação de tokens
  • A solicitação para revogar um token de atualização deve incluir ID do cliente que foi usado para obter o token.

  • O grupo de usuários JWTs é independente, com uma assinatura e um prazo de expiração que foram atribuídos quando o token foi criado. Tokens revogados não podem ser usados com chamadas de API do Amazon Cognito que exijam um token. No entanto, os tokens revogados ainda serão válidos se forem verificados usando qualquer biblioteca JWT que verifique a assinatura e a validade do token.

  • Quando você cria um novo cliente do grupo de usuários, a revogação de token é habilitada por padrão.

  • Você pode revogar tokens de atualização somente em clientes de aplicativos com a revogação de token ativada.

  • Após a habilitação da revogação de tokens, novas solicitações são adicionadas aos tokens web JSON do Amazon Cognito. As solicitações origin_jti e jti são adicionadas aos tokens de acesso e de ID. Essas solicitações aumentam o tamanho do acesso do cliente de aplicação e de tokens de ID.

  • Quando você desativa a revogação de token em um cliente de aplicativo onde ela estava ativada anteriormente, os tokens revogados não se tornam ativos novamente.

  • Quando você desativa uma conta de usuário (que revoga tokens de atualização e acesso), os tokens revogados não se tornam ativos se você ativar a conta de usuário novamente.

  • Quando você cria um novo cliente de grupo de usuários usando a AWS Management Console, a ou a AWS API AWS CLI, a revogação de token é ativada por padrão.

Habilitar revogação de token

Antes de poder revogar um token para um cliente de grupo de usuários existente, você deve habilitar a revogação de token. Você pode ativar a revogação de token para clientes de grupos de usuários existentes usando a AWS CLI ou a AWS API. Para isso, chame o comando de CLI aws cognito-idp describe-user-pool-client ou a operação de API DescribeUserPoolClient para recuperar as configurações atuais do cliente de aplicação. Depois, chame o comando de CLI aws cognito-idp update-user-pool-client ou a operação de API UpdateUserPoolClient. Inclua as configurações atuais do cliente de aplicação e defina o parâmetro EnableTokenRevocation como true.

Para criar ou modificar um cliente de aplicativo com a revogação de token habilitada com a API do Amazon Cognito ou com AWS um SDK, inclua o seguinte parâmetro na sua solicitação ou na CreateUserPoolClientsua solicitação de API. UpdateUserPoolClient

"EnableTokenRevocation": true

Para configurar a revogação do token no console do Amazon Cognito, selecione um cliente do aplicativo no menu Clientes do aplicativo no seu grupo de usuários. Selecione o botão Editar nas informações do cliente do aplicativo e ative ou desative a revogação do token em Configuração avançada.

Revogar um token

Você pode revogar um token de atualização usando uma solicitação de RevokeTokenAPI, por exemplo, com o comando CLIaws cognito-idp revoke-token. Você também pode revogar tokens usando o Revogar endpoint. Esse endpoint fica disponível depois que você adiciona um domínio ao seu grupo de usuários. Você pode usar o endpoint de revogação em um domínio hospedado do Amazon Cognito ou no seu próprio domínio personalizado.

Veja a seguir o corpo de um exemplo de uma solicitação de API RevokeToken.

{ "ClientId": "1example23456789", "ClientSecret": "abcdef123456789ghijklexample", "Token": "eyJjdHkiOiJKV1QiEXAMPLE" }

Veja a seguir um exemplo de solicitação cURL para o endpoint /oauth2/revoke de um grupo de usuários com um domínio personalizado.

curl --location 'auth.mydomain.com/oauth2/revoke' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Basic Base64Encode(client_id:client_secret)' \ --data-urlencode 'token=abcdef123456789ghijklexample' \ --data-urlencode 'client_id=1example23456789'

A operação RevokeToken e o endpoint /oauth2/revoke não precisam de autorização adicional, a menos que o cliente de aplicação tenha um segredo de cliente.