Comprendre le jeton d'actualisation - 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.

Comprendre le jeton d'actualisation

Vous pouvez utiliser le jeton d'actualisation pour récupérer de nouveaux jetons d'identification et d'accès. Par défaut, le jeton d'actualisation expire 30 jours après que l'utilisateur de votre application s'est connecté à votre groupe d'utilisateurs. Lorsque vous créez une application pour votre groupe d'utilisateurs, vous pouvez définir le délai d'expiration de son jeton d'actualisation sur une valeur comprise entre 60 minutes et 10 jours.

The Mobile SDK pour iOS, Mobile SDK pour Android, Amplify pour iOS, Android et Flutter actualisent automatiquement votre identifiant et vos jetons d'accès si un jeton d'actualisation valide (non expiré) est présent. Les jetons d'identification et d'accès ont une validité restante minimale de 2 minutes. Si le jeton d'actualisation est expiré, l'utilisateur de votre application doit se réauthentifier en se connectant à nouveau à votre groupe d'utilisateurs. Si le minimum pour le jeton d'accès et le jeton d'identification est fixé à 5 minutes et que vous les utilisezSDK, le jeton d'actualisation sera continuellement utilisé pour récupérer de nouveaux jetons d'accès et d'identification. Vous verrez le comportement attendu au bout de 7 minutes plutôt que 5 minutes.

Le compte de l'utilisateur proprement dit n'expire pas, à condition que l'utilisateur se soit connecté au moins une fois avant la limite de temps définie par UnusedAccountValidityDays pour les nouveaux comptes.

Obtenir de nouveaux jetons d'accès et d'identité à l'aide d'un jeton d'actualisation

Utilisez l'interface utilisateur API ou hébergée pour lancer l'authentification pour les jetons d'actualisation.

Pour utiliser le jeton d'actualisation afin d'obtenir un nouvel identifiant et des jetons d'accès auprès des groupes d'utilisateursAPI, utilisez les InitiateAuthAPIopérations AdminInitiateAuthor. Transmettez REFRESH_TOKEN_AUTH pour le paramètre AuthFlow. Dans la propriété AuthParameters de AuthFlow, transmettez le jeton d'actualisation de votre utilisateur en tant que valeur de "REFRESH_TOKEN". Amazon Cognito renvoie un nouvel identifiant et des jetons d'accès une fois que votre API demande a répondu à tous les défis.

Note

Pour utiliser les groupes d'utilisateurs Amazon Cognito afin d'APIactualiser les jetons pour un utilisateur de l'interface utilisateur hébergée, générez une InitiateAuth demande avec le REFRESH_TOKEN_AUTH flux. Cette méthode de gestion des jetons dans votre application n'affecte pas les sessions d'interface utilisateur hébergées des utilisateurs. La API réponse émet un nouvel identifiant et des jetons d'accès, mais ne renouvelle pas le cookie de session d'interface utilisateur hébergé.

Vous pouvez également envoyer des jetons d'actualisation au Point de terminaison de jeton dans un groupe d'utilisateurs où vous avez configuré un domaine. Dans le corps de la demande, incluez une valeur grant_type de refresh_token et une valeur refresh_token du jeton d'actualisation de votre utilisateur.

Révocation de jetons d'actualisation

Vous pouvez révoquer des jetons d'actualisation appartenant à un utilisateur. Pour plus d'informations sur la révocation de jetons, consultez Fin des sessions utilisateur par révocation de jetons.

Note

La révocation du jeton d'actualisation révoquera tous les identifiants et jetons d'accès qu'Amazon Cognito a émis à la suite de demandes d'actualisation avec ce jeton.

Les utilisateurs peuvent se déconnecter de tous les appareils sur lesquels ils sont actuellement connectés lorsque vous révoquez tous les jetons de l'utilisateur à l'aide des AdminUserGlobalSignOut API opérations GlobalSignOut et. Une fois que l'utilisateur est déconnecté, les effets suivants se produisent.

  • Le jeton d'actualisation ne peut pas obtenir de nouveaux jetons pour l'utilisateur.

  • Le jeton d'accès de l'utilisateur ne peut pas faire de demandes autorisées par API jeton.

  • L'utilisateur doit s'authentifier à nouveau pour obtenir de nouveaux jetons. Étant donné que les cookies de session de l'interface utilisateur hébergée n'expirent pas automatiquement, votre utilisateur peut s'authentifier à nouveau à l'aide d'un cookie de session, sans qu'il soit nécessaire de saisir des informations d'identification supplémentaires. Après avoir déconnecté les utilisateurs de votre interface utilisateur hébergée, redirigez-les vers Point de terminaison de déconnexion, où Amazon Cognito effacera son cookie de session.

Les jetons d'actualisation vous permettent de maintenir les sessions des utilisateurs dans votre application pendant une longue période. Au fil du temps, vos utilisateurs souhaiteront peut-être annuler l'autorisation de certains appareils sur lesquels ils se sont connectés, en actualisant continuellement leur session. Pour déconnecter votre utilisateur d'un seul appareil, révoquez son jeton d'actualisation. Lorsque votre utilisateur souhaite se déconnecter de toutes les sessions authentifiées, générez une GlobalSignOutAPIdemande. Votre application peut proposer à votre utilisateur un choix tel que Se déconnecter de tous les appareilsGlobalSignOut accepte le jeton d'accès valide, non modifié, non expiré et non révoqué, d'un utilisateur. Comme il s'APIagit d'un jeton autorisé, un utilisateur ne peut pas l'utiliser pour initier la déconnexion d'un autre utilisateur.

Vous pouvez toutefois générer une AdminUserGlobalSignOutAPIdemande que vous autorisez à l'aide de vos AWS informations d'identification pour déconnecter un utilisateur de tous ses appareils. L'application d'administration doit appeler cette API opération avec les informations d'identification du AWS développeur et transmettre l'ID du groupe d'utilisateurs et le nom d'utilisateur de l'utilisateur en tant que paramètres. Ils AdminUserGlobalSignOut API peuvent déconnecter n'importe quel utilisateur du groupe d'utilisateurs.

Pour plus d'informations sur les demandes que vous pouvez autoriser à l'aide des AWS informations d'identification ou du jeton d'accès d'un utilisateur, consultezGroupes d'utilisateurs Amazon Cognito, opérations authentifiées et non authentifiées API.