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 de l’appareil est activé, mais votre jeton d'actualisation comporte un flux d'authentification

Le flux USER_PASSWORD_AUTH ne prend pas en charge l'actualisation des jetons lorsque vous activez le suivi de l’appareil. La fonctionnalité de suivi de l’appareil du groupe d'utilisateurs ne peut être utilisée qu'avec le flux d’authentification USER_SRP_AUTH.

Si vous essayez d'obtenir de nouveaux jetons lorsque vous utilisez le jeton d'actualisation, le message d'erreur « Invalid Refresh Token » s'affiche. Pour résoudre cette erreur, suivez vos appareils utilisateur, puis utilisez le flux d'authentification USER_SRP_AUTH.

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 4 mois