Point de terminaison de déconnexion - Amazon Cognito

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.

Point de terminaison de déconnexion

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 demande GET adressée au point de terminaison /logout sont adaptés aux cas d’utilisation de l’interface utilisateur hébergée Amazon Cognito.

Pour rediriger votre utilisateur vers l’interface utilisateur hébergée afin de se reconnecter, ajoutez un paramètre redirect_uri à 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, comme client_idresponse_type et scope.

Le point de terminaison de déconnexion est une application Web frontale pour les sessions utilisateur interactives avec vos clients. Votre application doit invoquer cet élément et d’autres points de terminaison d’interface utilisateur hébergés dans les navigateurs de vos utilisateurs.

Pour rediriger votre utilisateur vers la page de votre choix, ajoutez des URL de déconnexion autorisées à 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 URL de déconnexion autorisées 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 plus d’informations, consultez Flux de déconnexion SAML.

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

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

client_id

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 plus d’informations, consultez Clients de l’application de groupe d’utilisateurs.

Obligatoire.

logout_uri

Redirigez votre utilisateur vers une page de déconnexion personnalisée avec un paramètre logout_uri. 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_uri uniquement avec un paramètre client_id. Pour plus d’informations, consultez Clients de l’application de groupe d’utilisateurs.

Vous pouvez également utiliser le paramètre logout_uri 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_uri sur la page de connexion codée en URL.

Amazon Cognito nécessite un paramètre logout_uri ou redirect_uri dans votre demande au point de terminaison /logout. Un paramètre logout_uri redirige votre utilisateur vers un autre site web. Si les paramètres logout_uri et redirect_uri sont inclus dans votre demande au point de terminaison /logout, Amazon Cognito utilisera exclusivement le paramètre logout_uri, en remplaçant le paramètre redirect_uri.

redirect_uri

Redirigez votre utilisateur vers votre page de connexion pour qu’il s’authentifie avec un paramètre redirect_uri. 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_id, scope, state et response_type que vous souhaitez transmettre à votre point de terminaison /login.

Amazon Cognito nécessite un paramètre logout_uri ou redirect_uri 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_uri. Si les paramètres logout_uri et redirect_uri sont inclus dans votre demande au point de terminaison, /logout Amazon Cognito remplace le paramètre redirect_uri et traite le paramètre logout_uri exclusivement.

response_type

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 du paramètre response_type.

Nécessaire si vous utilisez un paramètre redirect_uri.

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 (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_uri.

scope

Étendues OAuth 2.0 que vous souhaitez demander à Amazon Cognito une fois que vous avez déconnecté l’utilisateur avec un paramètre redirect_uri. 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_uri. 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

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

À l'exception de logout_uri etclient_id, tous les paramètres de requête possibles pour ce point de terminaison sont transmis auPoint de terminaison d’autorisation. 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 omettent logout_uri, 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 interface utilisateur hébergée. Le point de terminaison de déconnexion ajoute les paramètres de votre demande initiale à la destination de redirection. 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 URL de connexion 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