2017-06-02 4 views
5

Ich möchte der Nutzlast des Tokens ein bestimmtes Attribut hinzufügen. Dieses Attribut kann nur selten (einmal pro Monat) geändert werden. Ich möchte jedoch, dass die Token sofort nach dieser Änderung aktualisiert werden.AWS Cognito: JWT-ID-Token für Attributänderung des Benutzers aktualisieren

ARBEITSABLAUF

In web/mobile app öffnet Benutzer eine Profilansicht und Änderungen Attribut X. Der aktuelle Wert dieses Attributs ebenfalls in ID-Token gespeichert ist. Wenn der Benutzer also Bearbeitungen einreicht, sollte der neue Wert von X im Backend gespeichert werden und den alten Wert im ID-Token ersetzen. Es ist wichtig, weil Attribut X bestimmt, ob der Benutzer bestimmte Dinge in der App tun kann oder nicht.

Was macht Cognito, wenn sich das Payload-Attribut ändert? Es sendet eine neue Version des JWT ID Tokens in der nächsten Anfrage?

Sollte ich Refresh-Token verwenden? Oder erzwingen, sich abzumelden und Benutzer anzumelden?

Antwort

2

Refresh-Token ist in diesem Anwendungsfall geeigneter. Derzeit wird der Aktualisierungs-Token-Fluss im Android-SDK für Android-Benutzerpools nicht angezeigt, da dies vom SDK im Hintergrund erledigt wird. Vorläufig müssen Sie möglicherweise das Aktualisierungstoken vom Low-Level-SDK aufrufen, um dies zu umgehen. (Ich bin ein Entwickler von Amazon Cognito-Team, wir nehmen dies als Feature-Anfrage, um dies von unseren High-Level-SDKs zu ermöglichen.)

+2

Wir haben den gleichen Anwendungsfall. Was meinen Sie mit "Aufruf des Refresh-Tokens vom Low-Level-SDK"? Meinst du eine Möglichkeit, den 'getSession'-Aufruf zu zwingen, ein neues ID-Token zu erhalten, anstatt nur die zwischengespeicherte Sitzung zurückzugeben? – Aranda