

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# El punto de conexión de revocación del token
<a name="revocation-endpoint"></a>

Los usuarios que tienen un token de actualización en su sesión tienen algo parecido a una cookie del navegador. Pueden renovar la sesión en curso siempre que el token de actualización sea válido. En lugar de pedirle al usuario que inicie sesión cuando su token de ID o de acceso caduquen, la aplicación puede usar el token de actualización para obtener tokens nuevos que sean válidos. Sin embargo, puede darse el caso de que externamente decida que la sesión de un usuario debe finalizar, o bien el usuario puede optar por olvidar la sesión en curso. En esa situación, puede revocar el token de actualización para que el usuario no pueda continuar con la sesión.

El punto de conexión `/oauth2/revoke` revoca un token de acceso de usuario que Amazon Cognito ha emitido inicialmente con el token de actualización proporcionado. El punto de conexión también revoca el token de actualización y todos los tokens de acceso e identidad posteriores del mismo token de actualización. Una vez que el punto de conexión revoque los tokens, no podrá usarlos para acceder a los tokens de Amazon Cognito autenticados. APIs 

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

El punto de enlace `/oauth2/revoke` solo admite `HTTPS POST`. El cliente del grupo de usuarios realiza solicitudes a este punto de enlace directamente y no a través del navegador del sistema.

### Parámetros de la solicitud en el encabezado
<a name="revocation-request-parameters"></a>

**`Authorization`**  
Si el cliente de aplicación tiene un secreto de cliente, la aplicación debe pasar el `client_id` y el `client_secret` del encabezado de la autorización mediante una autorización de HTTP básico. El secreto es [Basic](https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side) `Base64Encode(client_id:client_secret)`.

**`Content-Type`**  
Debe ser siempre `'application/x-www-form-urlencoded'`.

#### Parámetros de la solicitud en el cuerpo
<a name="revocation-request-parameters-body"></a>

**`token`**  
(Obligatorio) El token de actualización que el cliente quiere revocar. La solicitud también revoca todos los tokens de acceso que Amazon Cognito emitió desde este token de actualización.  
Obligatorio.

**`client_id`**  
(Opcional) El ID de cliente de aplicación del token que quiere revocar.  
Obligatorio si el cliente es público y no tiene ningún secreto.

## Ejemplo de solicitud de revocación
<a name="revoke-sample-request"></a>

Esta solicitud de revocación revoca un token de actualización para un cliente de aplicación que no tiene secreto de cliente. Observe el parámetro `client_id` en el cuerpo de la solicitud.

```
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 solicitud de revocación revoca un token de actualización para un cliente de aplicación que *tiene* un secreto de cliente. Observe el encabezado `Authorization` que contiene un ID de cliente y un secreto de cliente codificados, pero no `client_id` en el cuerpo de la solicitud.

```
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
```

## Respuesta de error de revocación
<a name="revoke-sample-response"></a>

En una respuesta satisfactoria, se incluye un cuerpo vacío. La respuesta de error es un objeto JSON con un campo `error` y, en algunos casos, un campo `error_description`.

**Errores de punto de conexión**
+ Se devuelve HTTP 400 y el error `invalid_request` si el token no está presente en la solicitud o si la característica se desactiva para el cliente de aplicación.
+ Si el token que Amazon Cognito envió en la solicitud de revocación no es un token de actualización, recibirá un HTTP 400 y un error `unsupported_token_type`.
+ Si las credenciales de cliente no son válidas, recibirá un HTTP 401 y un error `invalid_client`.
+ Si el token se ha revocado o si el cliente ha enviado un token que no es válido, recibirá un HTTP 200 OK. 