Utilisation du jeton 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.

Utilisation du jeton 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.

Les kits SDK Mobile pour iOS et Android, ainsi qu'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 la valeur minimale des jetons d'accès et d'identification est 5 minutes et que vous utilisez le kit SDK, le jeton d'actualisation est utilisé en continu pour récupérer les 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

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

Pour utiliser le jeton d'actualisation afin d'obtenir un nouvel identifiant et des jetons d'accès avec l'API des groupes d'utilisateurs, utilisez les opérations de l'InitiateAuthAPI 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 des nouveaux jetons d'identification et d'accès une fois que votre demande d'API a réussi tous les défis.

Note

Pour utiliser l'API des groupes d'utilisateurs Amazon Cognito afin d'actualiser les jetons pour un utilisateur de l'interface utilisateur hébergée, générez une demande InitiateAuth.

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

Il se peut que les utilisateurs soient déconnectés de tous les appareils auxquels ils sont connectés lorsque vous révoquez les jetons de tous les autorisateurs à l'aide des opérations de l'API GlobalSignOut et AdminUserGlobalSignOut. 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 effectuer de demandes d'API autorisées par 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 demande d'GlobalSignOutAPI. 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. Cette API étant autorisée par jeton, un utilisateur ne peut pas l'utiliser pour initier la déconnexion d'un autre utilisateur.

Vous pouvez toutefois générer une demande d'AdminUserGlobalSignOutAPI 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 opération d'API 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. L'API AdminUserGlobalSignOut permet de déconnecter tous les utilisateurs du groupe.

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, consultezOpérations d’API authentifiées et non authentifiées des groupes d’utilisateurs Amazon Cognito.