

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 connexion et de déconnexion géré : `/logout`
<a name="logout-endpoint"></a>

Le point de terminaison `/logout` est un point de terminaison de redirection. Il déconnecte l'utilisateur et le redirige soit vers une URL de déconnexion autorisée pour le client de votre application, soit vers le `/login` point de terminaison. Les paramètres disponibles dans une requête GET envoyée au `/logout` point de terminaison sont adaptés aux cas d'utilisation des connexions gérées par Amazon Cognito.

Le point de terminaison de déconnexion est une application Web frontale pour les sessions utilisateur interactives avec vos clients. Votre application doit invoquer ce point de connexion ainsi que les autres points de terminaison de connexion gérés dans les navigateurs de vos utilisateurs.

Pour rediriger votre utilisateur vers la connexion gérée afin qu'il puisse se reconnecter, ajoutez un `redirect_uri` paramètre à votre demande. Une demande `logout` avec un paramètre `redirect_uri` doit également inclure les paramètres de votre demande suivante au [Point de terminaison de connexion](login-endpoint.md), comme `client_id`, `response_type` et `scope`.

Pour rediriger votre utilisateur vers la page de votre choix, ajoutez la fonction de **déconnexion autorisée URLs à** votre client d'application. Dans les demandes que vos utilisateurs adressent au point de terminaison `logout`, ajoutez les paramètres `logout_uri` et `client_id`. Si la valeur de `logout_uri` est l'une des **déconnexions autorisées URLs pour votre client d'**application, Amazon Cognito redirige les utilisateurs vers cette URL.

Avec la déconnexion unique (SLO) pour SAML 2.0 IdPs, Amazon Cognito redirige d'abord votre utilisateur vers le point de terminaison SLO que vous avez défini dans votre configuration IdP. Une fois que votre IdP a redirigé votre utilisateur vers, Amazon `saml2/logout` Cognito répond par une autre redirection vers ou depuis votre demande. `redirect_uri` `logout_uri` Pour de plus amples informations, veuillez consulter [Déconnexion des utilisateurs SAML à l'aide de la déconnexion unique](cognito-user-pools-saml-idp-sign-out.md).

Le point de terminaison de déconnexion ne déconnecte pas les utilisateurs de l'OIDC ou des fournisseurs d'identité sociale ()IdPs. Pour déconnecter les utilisateurs de leur session avec un IdP externe, dirigez-les vers la page de déconnexion de ce fournisseur.

## GET /logout
<a name="get-logout"></a>

Le point de terminaison `/logout` prend uniquement en charge `HTTPS GET`. Le client du groupe d’utilisateurs adresse généralement cette demande via le navigateur du système. Ce navigateur est généralement l’onglet Chrome personnalisé sous Android ou Safari View Control sous iOS.

### Paramètres de demande
<a name="get-logout-request-parameters"></a>

*client\$1id*  
ID client d’application pour votre application. Pour obtenir un ID client d’application, vous devez inscrire l’application dans le groupe d’utilisateurs. Pour de plus amples informations, veuillez consulter [Paramètres spécifiques à l'application avec les clients d'applications](user-pool-settings-client-apps.md).  
Obligatoire.

*logout\$1uri*  
Redirigez votre utilisateur vers une page de déconnexion personnalisée avec un paramètre *logout\$1uri*. Définissez sa valeur sur l’**URL de déconnexion** du client d’application, où vous souhaitez rediriger votre utilisateur une fois qu’il se déconnecte. Utilisez *logout\$1uri* uniquement avec un paramètre *client\$1id*. Pour de plus amples informations, veuillez consulter [Paramètres spécifiques à l'application avec les clients d'applications](user-pool-settings-client-apps.md).  
Vous pouvez également utiliser le paramètre *logout\$1uri* pour rediriger votre utilisateur vers la page de connexion d’un autre client d’application. Définissez la page de connexion de l’autre client d’application comme **URL de rappel autorisée** dans votre client d’application. Dans votre demande adressée au point de terminaison `/logout`, définissez la valeur du paramètre *logout\$1uri* sur la page de connexion codée en URL.  
Amazon Cognito nécessite un paramètre *logout\$1uri* ou *redirect\$1uri* dans votre demande au point de terminaison `/logout`. Un paramètre *logout\$1uri* redirige votre utilisateur vers un autre site web. Si les paramètres *logout\$1uri* et *redirect\$1uri* sont inclus dans votre demande au point de terminaison `/logout`, Amazon Cognito utilisera exclusivement le paramètre *logout\$1uri*, en remplaçant le paramètre *redirect\$1uri*.

*`nonce`*  
(Facultatif) Une valeur aléatoire que vous pouvez ajouter à la demande. La valeur nonce que vous fournissez est incluse dans le jeton d’identification émis par Amazon Cognito. Pour se prémunir contre les attaques par rejeu, votre application peut inspecter la revendication `nonce` dans le jeton d’identification et la comparer à celle que vous avez générée. Pour de plus amples informations sur la revendication `nonce`, veuillez consulter [ID token validation](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation) (français non disponible) dans la *norme OpenID Connect*.

**redirect\$1uri**  
Redirigez votre utilisateur vers votre page de connexion pour qu’il s’authentifie avec un paramètre *redirect\$1uri*. Définissez sa valeur sur l’**URL de rappel autorisée** du client d’application, où vous souhaitez rediriger votre utilisateur une fois qu’il se reconnecte. Ajoutez les paramètres *client\$1id*, *scope*, *state* et *response\$1type* que vous souhaitez transmettre à votre point de terminaison `/login`.  
Amazon Cognito nécessite un paramètre *logout\$1uri* ou *redirect\$1uri* dans votre demande au point de terminaison `/logout`. Pour rediriger votre utilisateur vers votre `/login` point de terminaison afin de s'authentifier à nouveau et de transmettre des jetons à votre application, ajoutez un paramètre *redirect\$1uri*. **Si les paramètres *logout\$1uri* et *redirect\$1uri* sont inclus dans votre demande au point de terminaison, `/logout` Amazon Cognito remplace le paramètre redirect\$1uri et traite le paramètre logout\$1uri exclusivement.**

*response\$1type*  
La réponse OAuth 2.0 que vous souhaitez recevoir d'Amazon Cognito une fois que votre utilisateur s'est connecté. `code`et `token` sont les valeurs valides pour le paramètre *response\$1type*.  
Nécessaire si vous utilisez un paramètre *redirect\$1uri*.

*state*  
Lorsque votre application ajoute un paramètre d'*état* à une demande, Amazon Cognito renvoie sa valeur à votre application lorsque le `/oauth2/logout` point de terminaison redirige votre utilisateur.  
Ajoutez cette valeur à vos demandes afin de protéger votre système contre les attaques [CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) (cross-site request forgery, falsification de requête intersites).  
Vous ne pouvez pas définir la valeur d’un paramètre `state` sur une chaîne JSON encodée par URL. Pour transmettre une chaîne correspondant à ce format dans un `state` paramètre, codez la chaîne en base64, puis décodez-la dans votre application.  
Fortement recommandée si vous utilisez un paramètre *redirect\$1uri*.

*scope*  
Les étendues OAuth 2.0 que vous souhaitez demander à Amazon Cognito après les avoir déconnectées à l'aide d'*un* paramètre redirect\$1uri. Amazon Cognito redirige votre utilisateur vers le point de terminaison `/login` avec le paramètre *scope* dans votre demande au point de terminaison `/logout`.  
Facultatif si vous utilisez un paramètre *redirect\$1uri*. Si vous n’incluez pas de paramètre *scope*, Amazon Cognito redirige votre utilisateur vers le point de terminaison `/login` avec un paramètre *scope*. Quand Amazon Cognito redirige votre utilisateur et renseigne automatiquement `scope`, le paramètre inclut toutes les étendues autorisées pour votre client d’application.

### Exemples de demandes
<a name="get-logout-request-sample"></a>

**Exemple : déconnexion et redirection de l'utilisateur vers le client**

Amazon Cognito redirige les sessions utilisateur vers l’URL avec la valeur `logout_uri`, en ignorant tous les autres paramètres de demande, lorsque les demandes incluent et `logout_uri` et `client_id`. Cette URL doit être une URL de déconnexion autorisée pour le client de l’application.

Voici un exemple de demande de déconnexion et de redirection vers `https://www.example.com/welcome`.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/logout?
  client_id=1example23456789&
  logout_uri=https%3A%2F%2Fwww.example.com%2Fwelcome
```

**Exemple : déconnectez-vous et demandez à l'utilisateur de se connecter en tant qu'autre utilisateur**

Lorsque les demandes sont `logout_uri` omises mais fournissent les paramètres qui constituent une demande bien formée adressée au point de terminaison autorisé, Amazon Cognito redirige les utilisateurs vers une connexion gérée. Le point de terminaison de déconnexion ajoute les paramètres de votre demande initiale à la destination de redirection.

Les paramètres supplémentaires que vous ajoutez à la demande de déconnexion doivent figurer dans la liste à [Paramètres de demande](#get-logout-request-parameters) l'adresse. Par exemple, le point de terminaison de déconnexion ne prend pas en charge la redirection automatique des IdP `identity_provider` avec `idp_identifier` ou paramètres. Le paramètre `redirect_uri` d'une demande adressée au point de terminaison de déconnexion n'est pas une URL de déconnexion, mais une post-sign-in URL que vous souhaitez transmettre au point de terminaison autorisé.

Voici un exemple de demande qui déconnecte un utilisateur, le redirige vers la page de connexion et fournit un code d'autorisation `https://www.example.com` après la connexion.

```
GET https://mydomain.auth.us-east-1.amazoncognito.com/logout?
  response_type=code&
  client_id=1example23456789&
  redirect_uri=https%3A%2F%2Fwww.example.com&
  state=example-state-value&
  nonce=example-nonce-value&
  scope=openid+profile+aws.cognito.signin.user.admin
```