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