2017-06-06 4 views
0

Ich habe eine Frage zum Entwerfen einer Cognito-Authentifizierung und ihres Ablaufs in meiner App.AWS Cognito - wiederkehrender Benutzer - wie Sie gut planen

Ich habe es geschafft, mich anzumelden usw. Aber ein großer "Schmerz" passiert, wenn ich die Benutzer erneut authentifizieren muss (da der Zugriff alle 60 Minuten abläuft, wie wir alle wissen). Jetzt denke ich, wie man es für einen zurückkehrenden Benutzer löst.

  1. einen Service Set, das alle 59 Minuten Relog den Benutzer würde (wenn er sich abzumelden nicht) - tun es die ganze Zeit im Hintergrund somehowe. a) Wie kann man es nicht verlieren, wenn die App eingeschaltet ist?

  2. Im SplashScreen automatisches relog setzen - jedes Mal, wenn ich die App einschalte, melde ich mich im Hintergrund (aktualisiere meine Sitzung). Dies kann nach einer langen Zeit funktionieren, da Refresh Token für 30 Tage gültig ist. Nach 30 Tagen ohne Verwendung der App könnten wir erwarten, dass der Benutzer seine Daten erneut aufschreibt. Wie erhält man jedoch ein Refresh Token von einer vorherigen Sitzung? Ich möchte es nicht in SharedPreferences oder ähnlichem speichern.

Welcher zu wählen? Welchen Rat würdest du mir geben?

Vielen Dank im Voraus!

Grzegorz

Antwort

0

Wenn Sie erfolgreich authentifizieren, erhalten Sie einen Aktualisierungs-Token? Das Zugriffstoken läuft nach 60 Minuten ab, aber Sie können das Aktualisierungstoken verwenden, um ein neues Zugriffstoken ohne erneute Authentifizierung zu erhalten.

+0

Hey ich bekomme es, aber ich bin mir nicht sicher, wie man es benutzt. Ich kursierte um diese Idee: http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html aber ist es die richtige? Ich kann die Java-Version dieses Codes auch nicht finden:/ –

+0

Das ist der richtige Weg, dies zu tun und diese APIs sind Teil von AWS Java SDK https://aws.amazon.com/sdk-for-java/ –

+0

ist da Irgendein Tutorial rum damit? Ich bleibe irgendwie dabei. Ich habe es auch mit Identity Provider versucht, aber das funktioniert nicht, muss sich trotzdem einloggen. Ich möchte den User nur automatisch anmelden, wenn er die App wieder öffnet und zuvor angemeldet war (für die ich ein boolesches Formular mit geteilten Preferences bekomme). Wie es geht:/Ich bin ehrlich gesagt mit meinem Flow festgefahren. –

Verwandte Themen