Passer au contenu

Pourquoi est-ce que je reçois l'erreur « Invalid Refresh Token » dans l'API de mon groupe d'utilisateurs Cognito ?

Lecture de 3 minute(s)
0

Je souhaite résoudre une erreur de type « Invalid Refresh Token » provenant de l'API de mon groupe d'utilisateurs Amazon Cognito.

Résolution

Vous avez utilisé un ID de client d'application différent de celui du jeton d'actualisation

Lorsqu'un utilisateur s'authentifie à l'aide de l'API AdminInitiateAuth, de l'API InitiateAuth ou de l'interface utilisateur hébergée, l'ID du client d'application est utilisé comme paramètre ClientId. Si vous utilisez un ID de client d'application différent de celui qui a émis le jeton d'actualisation, l'API renvoie une erreur « Invalid Refresh Token ».

Pour résoudre cette erreur, utilisez le même ID de client d'application que celui qui a émis le jeton d'actualisation d'origine lorsque vous appelez l'API AdminInitiateAuth ou InitiateAuth.

Vous utilisez un appareil non confirmé dont le suivi est activé

Si vous activez le suivi de l’appareil pour un groupe d'utilisateurs mais que vous ne confirmez pas l'appareil, le message d'erreur « Invalid Refresh Token » s'affiche lorsque vous essayez d'obtenir de nouveaux jetons.

Pour résoudre cette erreur, appelez l'API ConfirmDevice pour confirmer l'appareil et lancer son suivi. Puis, utilisez le jeton d'actualisation pour obtenir de nouveaux jetons d'accès et d'identification. Pour plus d'informations, consultez la section Configuration des appareils mémorisés.

Une clé d'appareil est manquante dans les paramètres d'authentification

Lorsque vous activez le suivi de l’appareil pour un groupe d'utilisateurs, Amazon Cognito renvoie une clé d'appareil unique une fois l'authentification réussie. Pour obtenir de nouveaux jetons avec un jeton d'actualisation, incluez la clé d'appareil dans la demande d'authentification suivante :

{  "AuthFlow": "REFRESH_TOKEN_AUTH",
  "AuthParameters": {
    "REFRESH_TOKEN": "example_refresh_token",
    "SECRET_HASH": "example_secret_hash",  
    "DEVICE_KEY": "example_device_key"
  }
}

Remarque : Remplacez example_refresh_token, example_secret_hash et example_device_key par vos propres valeurs.

Si votre client d’application utilise un secret client, incluez le paramètre SECRET_HASH dans les paramètres d’authentification. Cela permet de vérifier que la demande provient de votre application.

Si la clé d'appareil n'est pas transmise comme l'un des paramètres d'authentification, vous recevez le message d'erreur « Invalid Refresh Token ». Pour résoudre l'erreur, assurez-vous d'inclure la clé d'appareil en tant que paramètres d’authentification dans l'API AdminInitiateAuth ou InitiateAuth.

Le suivi des appareils est activé, mais vous utilisez le flux d'authentification USER_PASSWORD_AUTH

Lorsque vous utilisez le flux d'authentification USER_PASSWORD_AUTH alors que le suivi des appareils est activé pour le groupe d'utilisateurs, vous recevez les jetons d'accès, d'identification et d'actualisation. Toutefois, lorsque vous essayez d'obtenir de nouveaux jetons à l'aide du jeton d'actualisation, vous recevez le message d'erreur « Invalid Refresh Token ». Le flux USER_PASSWORD_AUTH ne prend pas en charge l'actualisation des jetons lorsque vous activez le suivi de l’appareil.

Pour résoudre cette erreur, utilisez le flux d'authentification USER_SRP_AUTH, puis actualisez les jetons.

Informations connexes

Actualiser les jetons

Authentification avec les groupes d'utilisateurs Amazon Cognito

Paramètres spécifiques à l'application avec les clients d’application

Suivi et mémorisation des appareils à l'aide d'Amazon Cognito Your User Pools

AWS OFFICIELA mis à jour il y a 9 mois