Logout-Endpunkt - Amazon Cognito

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Logout-Endpunkt

Der /logout-Endpunkt ist ein Umleitungsendpunkt. Es meldet den Benutzer ab und leitet entweder zu einer autorisierten Abmelde-URL für Ihren App-Client oder zum /login Endpunkt weiter. Die verfügbaren Parameter in einer GET-Anfrage an den /logout Endpunkt sind auf Anwendungsfälle der gehosteten Benutzeroberfläche von Amazon Cognito zugeschnitten.

Um Ihren Benutzer zur gehosteten Benutzeroberfläche umzuleiten, um sich erneut anzumelden, fügen Sie Ihrer Anfrage einen redirect_uri-Parameter hinzu. Eine logout-Anfrage mit einem redirect_uri-Parameter muss auch Parameter für Ihre nachfolgende Anfrage an den Login-Endpunkt enthalten, wie client_idresponse_type und scope.

Der Abmelde-Endpunkt ist eine Front-End-Webanwendung für interaktive Benutzersitzungen mit Ihren Kunden. Ihre App muss diesen und andere gehostete UI-Endpunkte in den Browsern Ihrer Benutzer aufrufen.

Um Ihren Benutzer auf eine von Ihnen gewählte Seite umzuleiten, fügen Sie Ihrem App-Client die zulässigen Abmelde-URLs hinzu. Fügen Sie in den Anfragen Ihrer Benutzer an den logout-Endpunkt logout_uri- und client_id-Parameter hinzu. Wenn der Wert von logout_uri eine der zulässigen Abmelde-URLs für Ihren App-Client ist, leitet Amazon Cognito Benutzer zu dieser URL weiter.

Mit Single Logout (SLO) für SAML 2.0 IdPs leitet Amazon Cognito Ihren Benutzer zunächst an den SLO-Endpunkt weiter, den Sie in Ihrer IdP-Konfiguration definiert haben. Nachdem Ihr IdP Ihren Benutzer zurück zu geleitet hatsaml2/logout, antwortet Amazon Cognito mit einer weiteren Weiterleitung auf die redirect_uri oder logout_uri von Ihrer Anfrage. Weitere Informationen finden Sie unter Ablauf der SAML-Abmeldung.

Der Abmeldeendpunkt meldet Benutzer nicht von OIDC oder Anbietern sozialer Identitäten ab (). IdPs Um Benutzer von ihrer Sitzung mit einem externen IdP abzumelden, leiten Sie sie zur Abmeldeseite für diesen Anbieter weiter.

GET/Abmeldung

Der /logout Endpunkt unterstützt ausschließlich HTTPS GET. Der Benutzerpool-Client übermittelt diese Anfrage in der Regel über den Systembrowser. Der Browser ist normalerweise ein Custom Chrome Tab bei Android oder Safari Control View bei iOS.

Anforderungsparameter

Client-ID

Die App-Client-ID für Ihre Anwendung. Um eine Client-ID für Ihre App abzurufen, müssen Sie die App im Benutzerpool registrieren. Weitere Informationen finden Sie unter App-Clients für Benutzerpools.

Erforderlich.

Abmelde-Uri

Leiten Sie Ihren Benutzer mit einem Parameter logout-uri auf eine benutzerdefinierte Abmeldeseite um. Legen Sie seinen Wert auf die sign-out URL (Abmelde-URL) des App-Clients fest, an die Sie Ihren Benutzer umleiten möchten, nachdem er sich abgemeldet hat. Verwenden Sie logout_uri nur mit einem client_id-Parameter. Weitere Informationen finden Sie unter App-Clients für Benutzerpools.

Sie können auch den logout_uri-Parameter verwenden, um Ihren Benutzer auf die Anmeldeseite eines anderen App-Clients umzuleiten. Legen Sie die Anmeldeseite für den anderen App-Client als Allowed callback URL (Zulässige Rückruf-URL) in Ihrem App-Client fest. Legen Sie in Ihrer Anforderung an den /logout-Endpunkt den Wert des logout_uri-Parameters auf die URL-codierte Anmeldeseite fest.

Amazon Cognito benötigt entweder einen logout_uri- oder einen redirect_uri-Parameter in der Anforderung an den /logout-Endpunkt. Ein logout_uri-Parameter leitet Ihren Benutzer auf eine andere Website um. Wenn sowohl die Parameter logout_uri als auch redirect_uri in Ihrer Anfrage an den /logout-Endpunkt enthalten sind, verwendet Amazon Cognito ausschließlich den Parameter logout_uri und überschreibt damit den Parameter redirect_uri.

redirect_uri

Leiten Sie Ihren Benutzer auf Ihre Anmeldeseite um, um sich mit einem Parameter redirect_uri zu authentifizieren. Legen Sie seinen Wert auf die Allowed callback URL (Zulässige Rückruf-URL) des App-Clients fest, an die Sie Ihren Benutzer umleiten möchten, nachdem er sich wieder angemeldet hat. Fügen Sie die Parameter client_id, scope, state und response_type hinzu, die Sie an Ihren /login-Endpunkt übergeben möchten.

Amazon Cognito benötigt entweder einen logout_uri- oder einen redirect_uri-Parameter in der Anforderung an den /logout-Endpunkt. Um Ihren Benutzer an Ihren /login Endpunkt weiterzuleiten, um sich erneut zu authentifizieren und Token an Ihre App zu übergeben, fügen Sie einen redirect_uri-Parameter hinzu. Wenn sowohl die Parameter logout_uri als auch redirect_uri in Ihrer Anfrage an den /logout Endpunkt enthalten sind, überschreibt Amazon Cognito den Parameter redirect_uri und verarbeitet ausschließlich den Parameter logout_uri.

response_type

Die OAuth 2.0-Antwort, die Sie von Amazon Cognito erhalten möchten, nachdem sich Ihr Benutzer angemeldet hat. code und token sind die gültigen Werte für den response_type-Parameter.

Erforderlich, wenn Sie einen redirect_uri-Parameter verwenden.

state

Wenn Ihre Anwendung einer Anfrage einen State-Parameter hinzufügt, gibt Amazon Cognito seinen Wert an Ihre App zurück, wenn der /oauth2/logout Endpunkt Ihren Benutzer umleitet.

Fügen Sie diesen Wert Ihren Anfragen hinzu, um sich vor CSRF-Angriffen zu schützen.

Sie können den Wert eines Parameters state nicht auf eine URL-codierte JSON-Zeichenfolge festlegen. Um eine Zeichenfolge, die diesem Format entspricht, in einem state Parameter zu übergeben, kodieren Sie die Zeichenfolge auf Base64 und dekodieren Sie sie dann in Ihrer Anwendung.

Dringend empfohlen, wenn Sie einen redirect_uri-Parameter verwenden.

scope

Die OAuth 2.0-Bereiche, die Sie von Amazon Cognito anfordern möchten, nachdem Sie sie mit einem redirect_uri-Parameter abgemeldet haben. Amazon Cognito leitet Ihren Benutzer an den /login-Endpunkt mit dem scope-Parameter in Ihrer Anforderung an den /logout-Endpunkt um.

Optional, wenn Sie einen redirect_uri-Parameter verwenden. Wenn Sie keinen scope-Parameter angeben, leitet Amazon Cognito Ihren Benutzer an den /login-Endpunkt mit einem scope-Parameter um. Wenn Amazon Cognito Ihren Benutzer umleitet und automatisch scope ausfüllt, enthält der Parameter alle autorisierten Bereiche für Ihren App-Client.

Beispielanfragen

Beispiel — Abmelden und Benutzer zum Client weiterleiten

Mit Ausnahme von logout_uri und client_id werden alle möglichen Abfrageparameter für diesen Endpunkt an den weitergegebenAutorisieren des Endpunkts. Amazon Cognito leitet Benutzersitzungen an die URL im Wert von logout_uri weiter und ignoriert dabei alle anderen Anforderungsparameter, wenn Anfragen logout_uri und client_id enthalten. Bei dieser URL muss es sich um eine autorisierte Abmelde-URL für den App-Client handeln.

Im Folgenden finden Sie ein Beispiel für eine Anfrage zur Abmeldung und Weiterleitung zu https://www.example.com/welcome.

GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? client_id=1example23456789& logout_uri=https%3A%2F%2Fwww.example.com%2Fwelcome

Beispiel: Melden Sie sich ab und fordern Sie den Benutzer auf, sich als ein anderer Benutzer anzumelden

Wenn Anfragen logout_uri auslassen, aber ansonsten die Parameter angeben, die eine wohlgeformte Anfrage an den Autorisierungsendpunkt ausmachen, leitet Amazon Cognito Benutzer zur gehosteten UI-Anmeldung weiter. Der Abmelde-Endpunkt hängt die Parameter in Ihrer ursprünglichen Anfrage an das Weiterleitungsziel an. Der Parameter redirect_uri in einer Anfrage an den Abmelde-Endpunkt ist keine Abmelde-URL, sondern eine Anmelde-URL, die Sie an den Autorisierungs-Endpunkt weiterleiten sollten.

Im Folgenden finden Sie eine Beispielanforderung, die einen Benutzer abmeldet, zur Anmeldeseite weiterleitet und https://www.example.com nach der Anmeldung einen Autorisierungscode bereitstellt.

GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? response_type=code& client_id=1example23456789& redirect_uri=https%3A%2F%2Fwww.example.com& state=example-state-value& nonce=example-nonce-value& scope=openid+profile+aws.cognito.signin.user.admin