

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
<a name="token-revocation"></a>

É possível revogar tokens de atualização e encerrar sessões de usuário 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**  
[RevokeToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html)revoga 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 token de ID e acesso desses outros tokens de atualização.

**Endpoint de revogação**  
O [endpoint de revogação](revocation-endpoint.md) 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 token de ID e acesso desses outros tokens de atualização.

**GlobalSignOut operação**  
[GlobalSignOut](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GlobalSignOut.html)é 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](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUserGlobalSignOut.html)é 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 de destino.

**O que é importante 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ê só pode revogar tokens de atualização em clientes da aplicação com a revogação de tokens habilitada. 
+ 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ê desabilita a revogação de tokens em um cliente da aplicação onde ela estava habilitada anteriormente, os tokens revogados não se tornam ativos novamente.
+ Quando você [desabilita uma conta de usuário](how-to-manage-user-accounts.md#manage-user-accounts-enable-disable) (que revoga tokens de atualização e acesso), os tokens revogados não se tornam ativos se você habilitar a conta de usuário novamente.
+ Quando você cria um novo cliente de grupo de usuários usando a Console de gerenciamento da AWS, a ou a AWS API AWS CLI, a revogação de token é ativada por padrão.

## Habilitar revogação de token
<a name="enable-token-revocation"></a>

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 [CreateUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolClient.html)sua solicitação de API. [UpdateUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolClient.html)

```
"EnableTokenRevocation": true
```

Para configurar a revogação do token no console do Amazon Cognito, selecione um cliente da aplicação no menu **Clientes da aplicação** no grupo de usuários. Clique no botão **Editar** em **Informações do cliente de aplicação** e habilite ou desabilite a revogação do token em **Configuração avançada**.

## Revogar um token
<a name="revoke-tokens-api"></a>

Você pode revogar um token de atualização usando uma solicitação de [RevokeToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html)API, por exemplo, com o comando CLI`[aws cognito-idp revoke-token](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/revoke-token.html)`. Você também pode revogar tokens usando o [Revogar endpoint](revocation-endpoint.md). 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.