

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á.

# O endpoint de revogação do token
<a name="revocation-endpoint"></a>

Os usuários que têm um token de atualização em sua sessão têm algo semelhante a um cookie de navegador. Eles podem renovar a sessão existente, desde que o token de atualização seja válido. Em vez de solicitar que o usuário faça login após a expiração do ID ou do token de acesso, a aplicação pode usar o token de atualização para obter tokens novos e válidos. No entanto, você pode determinar externamente que a sessão de um usuário seja encerrada, ou o usuário pode optar por esquecer a sessão atual. Nesse ponto, você pode revogar esse token de atualização para que eles não possam mais persistir na sessão.

O endpoint `/oauth2/revoke` revoga o token de acesso de um usuário que o Amazon Cognito emitiu inicialmente com o token de atualização fornecido por você. Esse endpoint também revoga o próprio token de atualização e todos os tokens de acesso e identidade subsequentes do mesmo token de atualização. Depois que o endpoint revogar os tokens, você não poderá usar os tokens de acesso revogados para acessar a autenticação dos tokens do Amazon APIs Cognito.

## POST /oauth2/revoke
<a name="post-revoke"></a>

O endpoint `/oauth2/revoke` só é compatível com `HTTPS POST`. O cliente do grupo de usuários faz solicitações para esse endpoint diretamente e não por meio do navegador do sistema.

### Parâmetros de solicitação no cabeçalho
<a name="revocation-request-parameters"></a>

**`Authorization`**  
Se o cliente da aplicação tiver recebido um segredo, a aplicação precisará passar o `client_id` e o `client_secret` no cabeçalho da autorização por meio da autorização HTTP básica. O segredo é [https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side](https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side)básico`Base64Encode(client_id:client_secret)`.

**`Content-Type`**  
Precisa ser sempre `'application/x-www-form-urlencoded'`.

#### Parâmetros de solicitação no corpo
<a name="revocation-request-parameters-body"></a>

**`token`**  
(Obrigatório) O token de atualização que o cliente quer revogar. A solicitação também revoga todos os tokens de acesso que o Amazon Cognito emitiu com esse token de atualização.  
Obrigatório.

**`client_id`**  
(Opcional) O ID do cliente da aplicação para o token que você deseja revogar.  
Obrigatório se o cliente for público e não tiver um segredo.

## Exemplos de solicitação de revogação
<a name="revoke-sample-request"></a>

Esta solicitação revoga um token de atualização para um cliente de aplicação que não tem segredo de cliente. O parâmetro `client_id` contém o corpo da solicitação.

```
POST /oauth2/revoke HTTP/1.1
Host: mydomain.auth.us-east-1.amazoncognito.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
token=2YotnFZFEjr1zCsicMWpAA&
client_id=1example23456789
```

Esta solicitação revoga um token de atualização para um cliente de aplicação que *tem* um segredo de cliente. Observe que o cabeçalho `Authorization` contém um ID de cliente e um segredo de cliente codificados, mas nenhum `client_id` no corpo da solicitação.

```
POST /oauth2/revoke HTTP/1.1
Host: mydomain.auth.us-east-1.amazoncognito.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
token=2YotnFZFEjr1zCsicMWpAA
```

## Resposta de erro de revogação
<a name="revoke-sample-response"></a>

Uma resposta bem-sucedida contém um corpo vazio. A resposta de erro é um objeto JSON com um campo `error` e, em alguns casos, um campo `error_description`.

**Erros de endpoint**
+ Se o token não estiver presente na solicitação ou se o recurso estiver desabilitado para o cliente da aplicação, você receberá HTTP 400 e o erro `invalid_request`.
+ Se o token que o Amazon Cognito enviou na solicitação de revogação não for um token de atualização, você receberá um HTTP 400 e um erro `unsupported_token_type`.
+ Se as credenciais do cliente não forem válidas, você receberá um HTTP 401 e um erro `invalid_client`.
+ Se o token tiver sido revogado ou se o cliente tiver enviado um token que não é válido, você receberá um HTTP 200 OK. 