Ich möchte den Fehler „Invalid Refresh Token“ in meiner Amazon Cognito-Benutzerpool-API beheben.
Lösung
Du hast eine andere App-Client-ID als das Aktualisierungstoken verwendet
Wenn sich ein Benutzer mit der AdminInitiateAuth-API, der InitiateAuth-API oder der gehosteten Benutzeroberfläche authentifiziert, dient die App-Client-ID als ClientId-Parameter. Wenn du eine andere App-Client-ID als die verwenden, die das Aktualisierungstoken ausgestellt hat, gibt die API den Fehler „Invalid Refresh Token“ zurück.
Um diesen Fehler zu beheben, verwende dieselbe App-Client-ID, die das ursprüngliche Aktualisierungstoken ausgegeben hat, wenn du die AdminInitiateAuth- oder InitiateAuth-API aufrufen.
Du hast ein unbestätigtes Gerät mit aktivierter Geräteverfolgung
Wenn du die Geräteverfolgung für einen Benutzerpool aktivieren, das Gerät aber nicht bestätigen, erhältst du die Fehlermeldung „Invalid Refresh Token“, wenn du versuchst, neue Token abzurufen.
Um diesen Fehler zu beheben, rufe die ConfirmDevice-API auf, um das Gerät zu bestätigen und mit der Geräteverfolgung zu beginnen. Verwende dann das Aktualisierungstoken, um neue Zugriffs- und ID-Token abzurufen. Weitere Informationen findest du unter Geräte einrichten, an die du dich erinnern kannst.
In den Authentifizierungsparametern fehlt ein Geräteschlüssel
Wenn du die Geräteverfolgung für einen Benutzerpool aktivierst, gibt Amazon Cognito nach erfolgreicher Authentifizierung einen eindeutigen Geräteschlüssel zurück. Um neue Token mit einem Aktualisierungstoken zu erhalten, gib den Geräteschlüssel in die folgende Authentifizierungsanfrage ein:
{ "AuthFlow": "REFRESH_TOKEN_AUTH",
"AuthParameters": {
"REFRESH_TOKEN": "example_refresh_token",
"SECRET_HASH": "example_secret_hash",
"DEVICE_KEY": "example_device_key"
}
}
Hinweis: Ersetze example_refresh_token, example_secret_hash und example_device_key durch die eigenen Werte.
Wenn der App-Client ein Client-Geheimnis verwendet, füge den Parameter SECRET_HASH in AuthParameters ein. Dadurch wird bestätigt, dass die Anfrage von der Anwendung stammt.
Wenn der Geräteschlüssel nicht als einer der AuthParameters übergeben wird, erhältst du den Fehler „Invalid Refresh Token“. Um den Fehler zu beheben, stelle sicher, dass du den Geräteschlüssel als AuthParameters in die AdminInitiateAuth- oder InitiateAuth-API aufnehmen.
Du hast die Geräteverfolgung aktiviert, aber der Aktualisierungstoken hat einen Authentifizierungsablauf
Der USER_PASSWORD_AUTH-Ablauf unterstützt keine Token-Aktualisierung, wenn du die Geräteverfolgung aktivierst. Die Funktion zur Benutzerpool-Geräteverfolgung kann nur mit dem Authentifizierungsablauf USER_SRP_AUTH verwendet werden.
Wenn du versuchst, neue Token zu erhalten, wenn du das Aktualisierungstoken verwendest, erhältst du den Fehler „Invalid Refresh Token“. Um diesen Fehler zu beheben, verfolge die Benutzergeräte und verwende dann den Authentifizierungsablauf USER_SRP_AUTH.
Ähnliche Informationen
Tokens aktualisieren
Authentifizierung mit Amazon Cognito-Benutzerpools
Anwendungsspezifische Einstellungen bei App-Clients
Geräte mithilfe von Amazon Cognito Your User Pools verfolgen und merken