Hinzufügen einer Benutzerpool-Anmeldung über einen Drittanbieter - 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.

Hinzufügen einer Benutzerpool-Anmeldung über einen Drittanbieter

Ihre App-Benutzer können sich entweder direkt über einen Benutzerpool anmelden oder sich über einen externen Identitätsanbieter (IdP) zusammenschließen. Der Benutzerpool verwaltet den Aufwand für die Verwaltung der Token, die bei der Anmeldung in sozialen Netzwerken über Facebook, Google, Amazon und Apple sowie von OpenID Connect (OIDC) und SAML zurückgegeben werden. IdPs Mit der integrierten gehosteten Weboberfläche bietet Amazon Cognito die Token-Handhabung und -Verwaltung für authentifizierte Benutzer aller Art. IdPs Auf diese Weise können Ihre Backend-Systeme auf einen Satz von Benutzerpool-Token standardisiert werden.

Funktionsweise der Verbundanmeldung in Amazon-Cognito-Benutzerpools

Die Anmeldung über einen Drittanbieter (Verbund) in Amazon-Cognito-Benutzerpools wird unterstützt. Diese Funktion ist unabhängig von Verbund über Amazon-Cognito-Identitätspools (Verbundidentitäten).

Authentifizierung mit sozialer Anmeldung – Übersicht

Amazon Cognito ist ein Benutzerverzeichnis und ein OAuth-2.0-Identitätsanbieter (IDP). Wenn Sie lokale Benutzer im Amazon-Cognito-Verzeichnis anmelden, ist Ihr Benutzerpool ein IDP für Ihre App. Ein lokaler Benutzer existiert ausschließlich in Ihrem Benutzerpool-Verzeichnis ohne Verbund über einen externen IdP.

Wenn Sie Amazon Cognito mit Social, SAML oder OpenID Connect (OIDC) verbinden IdPs, fungiert Ihr Benutzerpool als Brücke zwischen mehreren Dienstanbietern und Ihrer App. Für Ihren IDP ist Amazon Cognito ein Serviceanbieter (SP). Sie IdPs übergeben ein OIDC-ID-Token oder eine SAML-Assertion an Amazon Cognito. Amazon Cognito liest die Ansprüche über Ihren Benutzer im Token oder in der Assertion und ordnet diese Ansprüche einem neuen Benutzerprofil in Ihrem Benutzerpool-Verzeichnis zu.

Amazon Cognito erstellt dann ein Benutzerprofil für Ihren Verbundbenutzer in seinem eigenen Verzeichnis. Amazon Cognito fügt Ihrem Benutzer basierend auf den Ansprüchen Ihres IDP Attribute hinzu und bei OIDC- und Social-Identitätsanbietern außerdem einen IDP-betriebenen öffentlichen userinfo-Endpunkt. Die Attribute Ihres Benutzers ändern sich in Ihrem Benutzerpool, wenn sich ein zugeordnetes IDP-Attribut ändert. Sie können auch weitere Attribute hinzufügen, die unabhängig von denen des IDP sind.

Nachdem Amazon Cognito ein Profil für Ihren Verbundbenutzer erstellt hat, ändert es seine Funktion und präsentiert sich als IDP für Ihre App, die jetzt der SP ist. Amazon Cognito ist eine Kombination aus OIDC- und OAuth-2.0-IDP. Es generiert Zugriffstoken, ID-Token und Aktualisierungs-Token. Weitere Informationen über Token finden Sie unter Verwenden von Token mit Benutzerpools.

Sie müssen eine App entwickeln, die in Amazon Cognito integriert ist, um Ihre Benutzer zu authentifizieren und zu autorisieren, unabhängig davon, ob es sich um Verbund- oder lokale Benutzer handelt.

Die Verantwortlichkeiten einer App als SP für Amazon Cognito

Die Informationen in den Token überprüfen und verarbeiten

In den meisten Szenarien leitet Amazon Cognito Ihren authentifizierten Benutzer an eine App-URL um, die es mit einem Autorisierungscode anhängt. Ihre App tauscht den Code durch Zugriffs-, ID- und Aktualisierungs-Token aus. Dann muss sie die Gültigkeit der Token überprüfen und basierend auf den Ansprüchen in den Token Informationen an Ihren Benutzer senden.

Antworten auf Authentifizierungsereignisse mit API-Anfragen von Amazon-Cognito

Ihre App muss in der API für Amazon-Cognito-Benutzerpools und in die Authentifizierungs-API-Endpunkte integriert sein. Die Authentifizierungs-API meldet Ihren Benutzer an und ab und verwaltet Token. Die Benutzerpool-API verfügt über eine Vielzahl von Operationen, die Ihren Benutzerpool, Ihre Benutzer und die Sicherheit Ihrer Authentifizierungsumgebung verwalten. Ihre App muss wissen, was als Nächstes zu tun ist, wenn sie eine Antwort von Amazon Cognito erhält.

Wissenswertes über die Anmeldung von Drittanbietern bei Amazon-Cognito-Benutzerpools

  • Wenn Sie möchten, dass sich Ihre Benutzer bei Verbundanbietern anmelden, müssen Sie eine Domäne auswählen. Dadurch werden die von Amazon Cognito gehostete Benutzeroberfläche sowie gehostete UI- und OIDC-Endpunkte eingerichtet. Weitere Informationen finden Sie unter Verwenden der eigenen Domäne für die gehostete Benutzeroberfläche.

  • Sie können Verbundbenutzer nicht mit API-Operationen wie und anmelden. InitiateAuthAdminInitiateAuth Verbundbenutzer können sich nur mit dem Login-Endpunkt oder dem Autorisieren des Endpunkts anmelden.

  • Autorisieren des Endpunkts ist ein Umleitungsendpunkt. Wenn Sie einen Parameter idp_identifier oder identity_provider in Ihrer Anforderung angeben, wird diese unter Umgehung der gehosteten Benutzeroberfläche automatisch an Ihren IDP umgeleitet. Andernfalls erfolgt eine Umleitung an den Login-Endpunkt der gehosteten Benutzeroberfläche. Ein Beispiel finden Sie unter Beispielszenario: Amazon Cognito-Apps in einem Unternehmens-Dashboard als Lesezeichen speichern.

  • Wenn die gehostete Benutzeroberfläche eine Sitzung an einen Verbund-IDP umleitet, enthält Amazon Cognito den user-agent-Header Amazon/Cognito in der Anforderung.

  • Amazon Cognito leitet das Attribut username für ein Verbundbenutzerprofil aus einer Kombination aus einer festen Kennung und dem Namen Ihres IDP ab. Wenn Sie einen Benutzernamen generieren möchten, der Ihren benutzerdefinierten Anforderungen entspricht, erstellen Sie eine Zuordnung zum Attribut preferred_username. Weitere Informationen finden Sie unter Wissenswertes über Mappings.

    Beispiel: MyIDP_bob@example.com

  • Amazon Cognito zeichnet Informationen über die Identität Ihres Verbundbenutzers in einem Attribut und einen Anspruch im ID-Token, mit den Namen identities, auf. Dieser Anspruch enthält den Anbieter Ihres Benutzers und seine eindeutige ID vom Anbieter. Sie können das Attribut identities nicht direkt in einem Benutzerprofil ändern. Weitere Informationen zur Verknüpfung eines Verbundbenutzers finden Sie unter Verknüpfen von Verbundbenutzern mit einem vorhandenen Benutzerprofil.

  • Wenn Sie Ihren IDP in einer API-Aufforderung UpdateIdentityProvider aktualisieren, kann es bis zu einer Minute dauern, bis Ihre Änderungen in der gehosteten Benutzeroberfläche angezeigt werden.

  • Amazon Cognito unterstützt bis zu 20 HTTP-Umleitungen zwischen Amazon Cognito und Ihrem IDP.

  • Wenn sich Ihr Benutzer mit der gehosteten Benutzeroberfläche anmeldet, speichert sein Browser ein verschlüsseltes Cookie für die Anmeldesitzung, das den Client und den Anbieter aufzeichnet, mit dem er sich angemeldet hat. Wenn er erneut versucht, sich mit denselben Parametern anzumelden, verwendet die gehostete Benutzeroberfläche jede bestehende Sitzung, die noch nicht abgelaufen ist, und der Benutzer authentifiziert sich, ohne erneut Anmeldeinformationen einzugeben. Wenn sich Ihr Benutzer erneut mit einem anderen IdP anmeldet, einschließlich eines Wechsels zu oder von der lokalen Benutzerpool-Anmeldung, muss er Anmeldeinformationen angeben und eine neue Anmeldesitzung erstellen.

    Sie können einen beliebigen Benutzerpool einem IdPs beliebigen App-Client zuweisen, und Benutzer können sich nur mit einem IdP anmelden, den Sie ihrem App-Client zugewiesen haben.