Direkt zum Inhalt

Wie implementiere ich den SAML-Sign-Out-Flow für meine Anwendung, die einen Cognito-Benutzerpool verwendet?

Lesedauer: 2 Minute
0

Ich möchte SAML Single Sign-Out für meine Anwendung konfigurieren, die einen Amazon Cognito-Benutzerpool verwendet. Meine Anwendung verwendet auch einen SAML-Identitätsanbieter (IdP) zur Authentifizierung.

Lösung

Voraussetzungen:

SAML-Abmeldung in deinem SAML IdP aktivieren

Führe die folgenden Schritte aus:

  1. Amazon Cognito-Konsole.
  2. Wähle im Navigationsbereich Benutzerpools und dann wähle deinen Benutzerpool aus.
  3. Wähle Soziale Netzwerke und externe Anbieter und dann deinen SAML IdP aus.
  4. Wähle in deinen SAML-IdP-Konfigurationseinstellungen die Option Abmeldeablauf hinzufügen und SAML-Anfragen an diesen Anbieter signieren aus. Speichere dann die Konfiguration.
  5. Wähle Signaturzertifikat anzeigen aus.
  6. Wähle Als .crt herunterladen aus.
  7. Wähle Schließen aus.

Externen IdP konfigurieren, um die Abmeldung zu aktivieren

Um Single Sign-Out in deiner Cognito-Anwendung zu konfigurieren, lies die Dokumentation deines Identitätsanbieters, um Single Sign-Out in deiner SAML-Anwendung zu aktivieren.

Gehe bei der Konfiguration deiner Anwendung wie folgt vor:

  1. Lade die .crt-Datei aus deinem Cognito-Benutzerpool als Signaturzertifikat in der SAML-Anwendungskonfiguration deines IdP hoch.
  2. Aktiviere Single Sign-Out in der Konfiguration deines IdP.
    Hinweis: Dein IdP bezeichnet Single Sign-Out möglicherweise als Single Logout (SLO).
  3. Verwende für deine IdP-Konfiguration die folgenden Werte:
    Gib für die Single Sign-Out-URL https://YourDomain.auth.Region.amazoncognito.com/saml2/logout ein.
    Gib für den Aussteller des Serviceanbieters (SP) urn:amazon:cognito:sp:YourUserPoolID ein.
    Hinweis: Ersetze YourDomain, Region und YourUserPoolID durch deine Werte. Dein IdP muss die SAML LogoutResponse als HTTP POST-Anfrage senden. Cognito leitet den Benutzer dann zur Sign-Out-URL von der ursprünglichen Anfrage weiter.

Single Sign-Out testen

Stelle eine GET-Anfrage an den Cognito /logout-Endpunkt. Stelle sicher, dass du die Parameter client_id und logout_uri in die Anfrage aufnimmst.

Beispiel für eine Logout-URL:

https://YourDomain.auth.Region.amazoncognito.com/logout?client_id=YourAppClientID&logout_uri=YourAllowedSignOutURL

Hinweis: Für benutzerdefinierte Anwendungen musst du lokal gespeicherte Token oder Sitzungsinformationen aus dem Browser des Benutzers entfernen, z. B. LocalStorage und SessionStorage. Die Cognito-Abmelde-URL löscht das Cognito-Cookie nur für Anwendungen, die die verwaltete Benutzeroberfläche verwenden.

Ähnliche Informationen

SAML-Benutzer mit Single Sign-Out abmelden

AWS OFFICIALAktualisiert vor einem Jahr