Direkt zum Inhalt

Warum erhalte ich in meiner Cognito-Benutzerpool-API den Fehler „Invalid Refresh Token“?

Lesedauer: 2 Minute
0

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

AWS OFFICIALAktualisiert vor 4 Monaten