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.
OIDCBenutzerpool-IdP-Authentifizierungsablauf
Mit der OpenID Connect (OIDC) -Anmeldung automatisiert Ihr Benutzerpool den Anmeldevorgang mit dem Autorisierungscode bei Ihrem Identitätsanbieter (IdP). Nachdem Ihr Benutzer die Anmeldung mit seinem IdP abgeschlossen hat, sammelt Amazon Cognito seinen Code am oauth2/idpresponse
Endpunkt des externen Anbieters. Mit dem resultierenden Zugriffstoken fragt Ihr Benutzerpool den userInfo
IdP-Endpunkt ab, um Benutzerattribute abzurufen. Ihr Benutzerpool vergleicht dann die empfangenen Attribute mit den von Ihnen eingerichteten Regeln für die Attributzuweisung und füllt das Benutzerprofil und das ID-Token entsprechend aus.
Die OAuth 2.0-Bereiche, die Sie in Ihrer OIDC Anbieterkonfiguration anfordern, definieren die Benutzerattribute, die der IdP Amazon Cognito zur Verfügung stellt. Aus Sicherheitsgründen sollten Sie nur die Bereiche anfordern, die den Attributen entsprechen, die Sie Ihrem Benutzerpool zuordnen möchten. Wenn Ihr Benutzerpool beispielsweise Anfragen stelltopenid profile
, erhalten Sie alle möglichen Attribute, aber wenn Sie eine Anfrage stellen, erhalten openid email
phone_number
Sie nur die E-Mail-Adresse und Telefonnummer des Benutzers. Sie können die Bereiche, aus denen Sie anfragen, so konfigurieren, dass OIDC IdPs sie sich von denen unterscheiden, die Sie im App-Client und in der Benutzerpool-Authentifizierungsanfrage autorisieren und anfordern.
Wenn sich Ihr Benutzer mit einem OIDC IdP bei Ihrer Anwendung anmeldet, führt Ihr Benutzerpool den folgenden Authentifizierungsablauf durch.
-
Ihr Benutzer landet auf der integrierten Anmeldeseite von Amazon Cognito und hat die Möglichkeit, sich über einen OIDC IdP, beispielsweise Salesforce, anzumelden.
-
Ihr Benutzer wird zum
authorization
Endpunkt des OIDC IdP umgeleitet. -
Nachdem sich Ihr Benutzer authentifiziert hat, leitet der OIDC IdP mit einem Autorisierungscode zu Amazon Cognito weiter.
-
Amazon Cognito tauscht den Autorisierungscode mit dem OIDC IdP gegen ein Zugriffstoken aus.
-
Amazon Cognito erstellt oder aktualisiert das Benutzerkonto in Ihrem Benutzerpool.
-
Amazon Cognito stellt die Bearer-Token für Ihre Anwendung aus, wobei es sich unter anderem um Identitäts-, Zugriffs- und Aktualisierungs-Token handeln kann.
Anmerkung
Amazon Cognito bricht Authentifizierungsanfragen ab, die nicht innerhalb von 5 Minuten abgeschlossen werden, und leitet den Benutzer an die gehostete Benutzeroberfläche um. Für die Seite wird eine Something
went wrong
-Fehlermeldung angezeigt.
OIDCist eine Identitätsebene auf OAuth 2.0, die Identitätstoken im JSON -Format (JWT) spezifiziert, die von IdPs an OIDC Client-Apps (vertrauende Parteien) ausgegeben werden. Informationen dazu, wie Sie Amazon Cognito als OIDC vertrauende Partei hinzufügen können, finden Sie in der Dokumentation für Ihren OIDC IdP.
Wenn sich ein Benutzer mit einer Autorisierungscode-Erteilung authentifiziert, gibt der Benutzerpool das ID-, Zugriffs- und Aktualisierungstoken zurück. Das ID-Token ist ein OIDC
Wie ein Benutzerpool Ansprüche eines OIDC Anbieters verarbeitet
Wenn Ihr Benutzer die Anmeldung bei einem OIDC Drittanbieter abschließt, ruft die von Amazon Cognito gehostete Benutzeroberfläche einen Autorisierungscode vom IdP ab. Ihr Benutzerpool tauscht den Autorisierungscode für Zugriffs- und ID-Tokens mit dem token
-Endpunkt Ihres IdP aus. Ihr Benutzerpool gibt diese Token nicht an Ihren Benutzer oder Ihre App weiter, sondern verwendet sie, um ein Benutzerprofil mit Daten zu erstellen, die in Form von Anträgen in eigenen Tokens dargestellt werden.
Amazon Cognito validiert das Zugriffstoken nicht unabhängig. Stattdessen fordert es Benutzerattributinformationen vom userInfo
-Endpunkt des Anbieters an und erwartet, dass die Anfrage abgelehnt wird, wenn das Token nicht gültig ist.
Amazon Cognito validiert das Anbieter-ID-Token mit den folgenden Prüfungen:
-
Überprüfen Sie, ob der Anbieter das Token mit einem Algorithmus aus dem folgenden Satz signiert hat:RSA,, HMAC Elliptic Curve.
-
Wenn der Anbieter das Token mit einem asymmetrischen Signaturalgorithmus signiert hat, prüfen, ob die Signaturschlüssel-ID im Token-
kid
-Antrag am Endpunktjwks_uri
des Anbieters aufgeführt ist. -
Die ID-Tokensignatur mit der Signatur vergleichen, die auf der Grundlage der Anbieter-Metadaten erwartet wird.
-
Vergleichen Sie den
iss
Anspruch mit dem für den IdP konfigurierten OIDC Aussteller. -
Vergleichen, ob der
aud
-Antrag mit der auf dem IdP konfigurierten Client-ID übereinstimmt oder ob er die konfigurierte Client-ID enthält, wenn deraud
-Antrag mehrere Werte enthält. -
Sicherstellen, dass der Zeitstempel im
exp
-Antrag nicht vor der aktuellen Uhrzeit liegt.
Ihr Benutzerpool validiert das ID-Token und versucht dann, mit dem Anbieter-Zugriffstoken eine Anfrage an den Anbieter-userInfo
-Endpunkt zu stellen. Er ruft alle Benutzerprofilinformationen ab, zu deren Lesen die Bereiche im Zugriffstoken berechtigen. Ihr Benutzerpool sucht dann nach den Benutzerattributen, die Sie in Ihrem Benutzerpool als erforderlich festgelegt haben. Sie müssen in Ihrer Anbieterkonfiguration Attributzuordnungen für die erforderlichen Attribute erstellen. Ihr Benutzerpool überprüft das Provider-ID-Token und die userInfo
-Antwort. Ihr Benutzerpool schreibt alle Anträge, die den Zuordnungsregeln entsprechen, den Benutzerattributen im Benutzerprofil des Benutzerpools zu. Ihr Benutzerpool ignoriert Attribute, die einer Zuordnungsregel entsprechen, aber nicht erforderlich sind und nicht in den Anträgen des Anbieters enthalten sind.