Was ist der Unterschied zwischen dem Abmelde-Endpunkt und der GlobalSignOut-API in Amazon Cognito?

Lesedauer: 3 Minute
0

Ich möchte verstehen, wie der Abmelde-Endpunkt und die GlobalSignOut-API in Amazon Cognito verwendet werden.

Kurzbeschreibung

Der Amazon-Cognito-Abmelde-Endpunkt löscht eine Benutzersitzung aus einem Browser. Die GlobalSignOut-API macht alle Zugriffs- und Aktualisierungstoken ungültig, die an einen bestimmten Benutzer ausgegeben wurden.

Lösung

Benutzer mit dem Abmelde-Endpunkt abmelden

Wenn Sie einen gehosteten Endpunkt für die Benutzerauthentifizierung verwenden, speichert Amazon Cognito ein Cookie mit dem Namen „Cognito“ in Ihrem Browser. Das Cookie ist mit der Amazon-Cognito-Domäne verknüpft, die mit Ihrem Benutzerpool konfiguriert ist. Das Cookie ist 1 Stunde gültig. Wenn ein Benutzer versucht, sich während einer aktiven Sitzung erneut anzumelden, fragt Amazon Cognito den Benutzer, ob er seine bestehende Sitzung fortsetzen möchte. Dadurch kann sich der Benutzer anmelden, ohne Anmeldeinformationen angeben zu müssen. Wenn ein Benutzer die Schaltfläche Als example_username anmelden wählt, um eine bestehende Sitzung zu verwenden, wird die Gültigkeit des Cookies auf 1 Stunde zurückgesetzt.

Wenn ein Benutzer den Abmelde-Endpunkt in seinem Browser besucht, löscht Amazon Cognito das Sitzungscookie. Der Benutzer muss seine Anmeldeinformationen angeben, um sich erneut anzumelden.

Wenn sich ein Benutzer bei Drittanbieter-Identitätsanbietern (IdPs) anmeldet, muss ein zusätzlicher Schritt ausgeführt werden. Wenn sich ein Benutzer mit einem der Drittanbieter-IdPs anmeldet, wird durch den Besuch des Abmelde-Endpunkts das „Cognito“-Cookie aus dem Browser gelöscht. Der IdP kann jedoch immer noch eine aktive Sitzung haben. Beachten Sie die folgenden Informationen, wenn Sie die IdP-Sitzung des Benutzers löschen:

  • Amazon Cognito unterstützt die Single-Logout-Funktion (SLO) für IdPs der Security Assertion Markup Language Version 2.0 (SAML 2.0) mit HTTP-POST-Bindung. Wenn Ihr Anbieter HTTP-POST-Bindung auf seinem SLO-Endpunkt akzeptiert, sollten Sie die Implementierung von SLO für SAML-IdPs in Betracht ziehen. Wenn ein Benutzer den Abmelde-Endpunkt mit aktiviertem SLO besucht, sendet Amazon Cognito eine signierte Abmelde-Anforderung an den SAML-IdP. Dann löscht der SAML-IdP die IdP-Sitzung.
  • Für Social- und OpenID-Connect-IdPs (OIDC) müssen Sie einen benutzerdefinierten Workflow erstellen, um die IdP-Sitzung aus dem Browser zu löschen.

Benutzer mit der GlobalSignOut-API abmelden

Wenn Sie die GlobalSignOut-API verwenden, widerruft Amazon Cognito alle Zugriffs- und Aktualisierungstoken, die einem Benutzer ausgestellt wurden. Beachten Sie, dass nur Amazon Cognito über den Token-Widerruf informiert wird. Ihre Anwendung akzeptiert die Token möglicherweise weiterhin, bis sie ablaufen.

Ihre Anwendung kann sowohl die GlobalSignOut- als auch die AdminUserGlobalSignOut-APIs verwenden, um Benutzer global abzumelden. Wenn Ihre Anwendung REST-APIs für die Amazon-Cognito-Benutzerauthentifizierung verwendet, müssen Sie diese APIs verwenden, um Benutzer abzumelden.

Wenn die Anwendung versucht, ein widerruftes Token zu verwenden, gibt Amazon Cognito einen Fehler aus, der darauf hinweist, dass Sie das Aktualisierungstoken widerrufen haben. Der Benutzer muss sich erneut anmelden, um einen neuen Satz von JSON Web Tokens (JWTs) zu erhalten.

Sie können die Ablaufzeit für Ihre Zugriffs- und ID-Token in Ihrem Benutzerpool-App-Client konfigurieren. Sie können die Ablaufzeit auf einen Wert zwischen 5 Minuten und 24 Stunden ändern.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr