

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Le point de terminaison de révocation des jetons
<a name="revocation-endpoint"></a>

Les utilisateurs qui détiennent un jeton d'actualisation pendant leur session ont quelque chose de similaire à un cookie de navigateur. Ils peuvent renouveler leur session existante tant que le jeton d'actualisation est valide. Au lieu d'inviter un utilisateur à se connecter après l'expiration de son identifiant ou de son jeton d'accès, votre application peut utiliser le jeton d'actualisation pour obtenir de nouveaux jetons valides. Cependant, vous pouvez déterminer de manière externe que la session d'un utilisateur doit être terminée, ou l'utilisateur peut choisir d'oublier sa session en cours. À ce stade, vous pouvez révoquer ce jeton d'actualisation afin qu'ils ne puissent plus poursuivre leur session.

Le `/oauth2/revoke` point de terminaison révoque le jeton d'accès d'un utilisateur initialement émis par Amazon Cognito avec le jeton d'actualisation que vous fournissez. Ce point de terminaison révoque également le jeton d'actualisation lui-même et tous les jetons d'accès et d'identité ultérieurs du même jeton d'actualisation. Une fois que le terminal a révoqué les jetons, vous ne pouvez pas utiliser les jetons d'accès révoqués pour accéder APIs aux jetons Amazon Cognito authentifiés.

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

Le point de terminaison `/oauth2/revoke` prend uniquement en charge `HTTPS POST`. Le client du groupe d’utilisateurs adresse les demandes directement à ce point de terminaison, et non via le navigateur du système.

### Paramètres de demande dans l’en-tête
<a name="revocation-request-parameters"></a>

**`Authorization`**  
Si le client de votre application possède un secret client, l'application doit transmettre son code `client_id` et `client_secret` dans l'en-tête d'autorisation via l'autorisation HTTP de base. Le secret est [Basic](https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side) `Base64Encode(client_id:client_secret)`.

**`Content-Type`**  
Doit toujours être `'application/x-www-form-urlencoded'`.

#### Paramètres de la demande dans le corps
<a name="revocation-request-parameters-body"></a>

**`token`**  
(Obligatoire) Le jeton d'actualisation que le client souhaite révoquer. La demande révoque également tous les jetons d’accès émis par Amazon Cognito avec ce jeton d’actualisation.  
Obligatoire.

**`client_id`**  
(Facultatif) L'ID client de l'application pour le jeton que vous souhaitez révoquer.  
Obligatoire si le client est public et n’a pas de secret.

## Exemples de demandes de révocation
<a name="revoke-sample-request"></a>

Cette demande de révocation révoque un jeton d'actualisation pour un client d'application qui n'a aucun secret client. Notez le `client_id` paramètre dans le corps de la demande.

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

Cette demande de révocation révoque un jeton d'actualisation pour un client d'application qui *possède* un secret client. Notez l'`Authorization`en-tête qui contient un identifiant client et un secret client codés, mais aucun `client_id` dans le corps de la demande.

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

## Réponse d’erreur Révocation
<a name="revoke-sample-response"></a>

Une réponse réussie contient un corps vide. La réponse d’erreur est un objet JSON avec un champ `error` et, dans certains cas, un champ `error_description`.

**Erreurs de point de terminaison**
+ Si le jeton n’est pas présent dans la demande ou si la fonction est désactivée pour le client d’application, vous recevez HTTP 400 et l’erreur `invalid_request`.
+ Si le jeton envoyé par Amazon Cognito dans la demande de révocation n’est pas un jeton d’actualisation, vous recevez HTTP 400 et l’erreur `unsupported_token_type`.
+ Si les informations d’identification du client ne sont pas valides, vous recevez HTTP 401 et l’erreur `invalid_client`.
+ Si le jeton a été révoqué ou si le client a soumis un jeton non valide, vous recevez HTTP 200 OK. 