Utilisation du jeton actualisation - Amazon Cognito

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.

Note

Le kit SDK Mobile pour Android offre la possibilité de modifier la période de validité minimale des jetons d'identification et d'accès en leur attribuant une valeur comprise entre 0 et 30 minutes. Consultez la méthode setRefreshThreshold() de CognitoIdentityProviderClientConfig dans la référence API AWS Mobile SDK for Android.

Le compte de l'utilisateur proprement dit n'expire jamais, tant que l'utilisateur se connecte au moins une fois avant la limite de temps définie par la valeur UnusedAccountValidityDays pour les nouveaux comptes.

Lancer de nouveaux jetons d'actualisation (API)

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 de nouveaux jetons d'identification et d'accès avec l'API de pool d'utilisateurs, utilisez les opérations API AdminInitiateAuth ou InitiateAuth. Transmettez REFRESH_TOKEN_AUTH pour le paramètre AuthFlow. Le paramètres d'autorisation AuthParameters est un mappage clé-valeur où la clé est "REFRESH_TOKEN" et la valeur le jeton d'actualisation réel. 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 modifier les jetons d'utilisateurs connectés à l'aide de l'interface utilisateur hébergée, utilisez l'opération de l'API InitiateAuth.

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 a pour effet de révoquer tous les jetons émis avec le jeton d'actualisation.

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 l'utilisateur déconnecté, les événements suivants se produisent :

  • Son jeton d'actualisation ne peut plus être utilisé pour en obtenir d'autres.

  • Le jeton d'accès de l'utilisateur ne peut plus être utilisé avec le service de groupes d'utilisateurs.

  • L'utilisateur doit s'authentifier à nouveau pour obtenir de nouveaux jetons. Les cookies de session n'expirent pas automatiquement. Une bonne pratique est que les applications redirigent les utilisateurs vers le point de terminaison de déconnexion pour forcer le navigateur à effacer les cookies de session.

Une application peut utiliser l'API GlobalSignOut pour permettre à des utilisateurs individuels de se déconnecter de tous les appareils. Généralement, une application propose cette option comme un choix (par exemple, Se déconnecter de tous les appareils). L'application doit appeler cette opération d'API avec le jeton d'accès valide (non expiré et non révoqué) de l'utilisateur. Cette opération ne peut pas être utilisée pour permettre à un utilisateur de déconnecter un autre utilisateur.

Une application peut utiliser l'API AdminUserGlobalSignOut pour permettre aux administrateurs de déconnecter un utilisateur de tous les appareils. L'application de l'administrateur doit appeler cette opération d'API avec des informations d'identification de développeur AWS, et transmettre l'ID de groupe d'utilisateurs et le nom de l'utilisateur en tant que paramètres. L'API AdminUserGlobalSignOut permet de déconnecter tous les utilisateurs du groupe.