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