Verwenden von Anbietern für soziale Identitäten mit einem Benutzerpool - 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.

Verwenden von Anbietern für soziale Identitäten mit einem Benutzerpool

Die Benutzer Ihrer Web- und mobilen App können sich über Social-Identity-Anbieter (IdP) wie Facebook, Google und Amazon anmelden. Mit der integrierten gehosteten Web-UI bietet Amazon Cognito Token-Handling und Verwaltung für authentifizierte Benutzer aller Identitätsanbieter. Auf diese Weise können Ihre Backend-Systeme auf einen Satz von Benutzerpool-Token standardisiert werden. Aktivieren Sie die gehostete Benutzeroberfläche, um sie mit unterstützten Social-Identity-Anbietern zu integrieren. Wenn Amazon Cognito Ihre gehostete Benutzeroberfläche erstellt, erstellt es OAuth 2.0-Endpunkte, die Amazon Cognito und Ihr OIDC und Ihre sozialen Netzwerke zum Informationsaustausch verwenden. IdPs Weitere Informationen finden Sie unter Auth-API-Referenz des Amazon-Cognito-Benutzerpools.

Sie können einen sozialen IdP in der hinzufügen AWS Management Console, oder Sie können die AWS CLI oder die Amazon Cognito Cognito-API verwenden.

Authentifizierung mit sozialer Anmeldung – Übersicht
Anmerkung

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).

Voraussetzungen

Bevor Sie beginnen, muss Folgendes sichergestellt sein:

  • Ein Benutzerpool mit einem App-Client und eine Benutzerpool-Domäne. Weitere Informationen finden Sie unter Einen Benutzerpool erstellen.

  • Ein Social-IDP.

Schritt 1: Registrieren mit einem Social-Identity-Anbieter

Bevor Sie einen soziale IdP mit Amazon Cognito anlegen, müssen Sie Ihre Anwendung bei dem sozialen IdP registrieren, um eine Kunden-ID und einen geheimen Client-Schlüssel zu erhalten.

  1. Erstellen Sie ein Entwickler-Konto bei Facebook.

  2. Melden Sie sich mit Ihren Facebook-Anmeldeinformationen an.

  3. Wählen Sie im Menü My Apps (Meine Apps) den Eintrag Create New App (Neue App erstellen).

  4. Geben Sie einen Namen für Ihre Facebook-App ein und wählen Sie dann Create App ID (App-ID erstellen) aus.

  5. Wählen Sie in der linken Navigationsleiste Settings (Einstellungen) aus und dann Basic (Grundlegend).

  6. Notieren Sie die App ID und das App Secret (Geheimer Schlüssel für die App). Sie brauchen diese Informationen im nächsten Abschnitt.

  7. Wählen Sie unten auf der Seite + Add Platform (+ Plattform hinzufügen).

  8. Wählen Sie Website.

  9. Geben Sie unter Website den Pfad zur Anmeldeseite Ihrer Anwendung unter Site URL (Website-URL) ein.

    https://mydomain.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com
  10. Wählen Sie Save Changes.

  11. Geben Sie den Pfad zum Stammverzeichnis Ihrer Benutzerpool-Domäne in App Domains (Anwendungsdomänen) ein.

    https://mydomain.us-east-1.amazoncognito.com
  12. Wählen Sie Save Changes.

  13. Wählen Sie auf der Navigationsleiste Add Product (Produkte hinzufügen) und dann Set up (Einrichten) für Facebook Login (Facebook-Anmeldung).

  14. Wählen Sie in der linken Navigationsleiste Facebook Login (Facebook-Anmeldung) und dann Settings (Einstellungen).

    Geben Sie den Pfad zum Endpunkt /oauth2/idpresponse für Ihre Benutzerpool-Domäne unter Valid OAuth Redirect URIs (Gültige OAuth-Umleitungs-URIs) ein.

    https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
  15. Wählen Sie Save Changes.

  1. Erstellen Sie ein Entwickler-Konto bei Amazon.

  2. Melden Sie sich mit Ihren Amazon-Anmeldeinformationen an.

  3. Sie müssen ein Amazon Sicherheitsprofil erstellen, um die Amazon-Client-ID und den geheimen Client-Schlüssel zu erhalten.

    Wählen Sie Apps and Services (Apps und Services) aus der Navigationsleiste oben auf der Seite und wählen Sie dann Login with Amazon (Anmeldung mit Amazon).

  4. Wählen Sie Create a Security Profile (Ein Sicherheitsprofil erstellen) aus.

  5. Geben Sie einen Security Profile Name (Sicherheitsprofilnamen), eine Security Profile Description (Sicherheitsprofilbeschreibung) und eine Consent Privacy Notice URL (URL zur Zustimmung zum Datenschutzhinweis) ein.

  6. Wählen Sie Save (Speichern) aus.

  7. Wählen Sie Client ID (Client-ID) und Client Secret (Clientschlüssel), um die Client-ID und den Clientschlüssel anzuzeigen. Sie brauchen diese Informationen im nächsten Abschnitt.

  8. Bewegen Sie den Mauszeiger über das Zahnrad, wählen Sie Web Settings (Web-Einstellungen) und dann Edit (Bearbeiten) aus.

  9. Geben Sie Ihre Benutzerpool-Domäne in Allowed Origins (Autorisierte Quellen) ein.

    https://mydomain.us-east-1.amazoncognito.com
  10. Geben Sie Ihre Benutzerpool-Domäne mit dem /oauth2/idpresponse-Endpunkt in Allowed Return URLs (Zulässige Rückgabe-URLs) ein.

    https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
  11. Wählen Sie Save (Speichern) aus.

Weitere Informationen über OAuth 2.0 auf der Google-Cloud-Plattform finden Sie unter Erfahren Sie mehr über Authentifizierung und Autorisierung in der Dokumentation zu Google Workspace für Entwickler.

  1. Erstellen Sie ein Entwickler-Konto bei Google.

  2. Melden Sie sich bei der Konsole für Google Cloud Platform an.

  3. Klicken Sie in der oberen Navigationsleiste auf Select a project (Projekt auswählen). Wenn Sie bereits ein Projekt auf der Google-Plattform haben, zeigt dieses Menü stattdessen Ihr Standardprojekt an.

  4. Wählen Sie NEW PROJECT (NEUES PROJEKT) aus.

  5. Geben Sie einen Namen für Ihr Projekt ein und wählen Sie dann CREATE (ERSTELLEN) aus.

  6. Wählen Sie in der linken Navigationsleiste APIs and Services (APIs und Services) und dann Oauth consent screen (OAuth-Zustimmungsbildschirm) aus.

  7. Geben Sie App-Informationen, eine App domain (App-Domäne), Authorized domains (Autorisierte Domänen) und Developer contact information (Kontaktinformationen für Entwickler) ein. Ihre Authorized domains (Autorisierte Domänen) müssen amazoncognito.com und das Stammverzeichnis Ihrer benutzerdefinierten Domäne, z. B. example.com, enthalten. Wählen Sie SAVE AND CONTINUE (SPEICHERN UND FORTFAHREN) aus.

  8. 1. Wählen Sie unter Scopes (Bereiche) die Option Add or remove scopes (Bereiche hinzufügen oder entfernen) und mindestens die folgenden OAuth-Bereiche aus.

    1. .../auth/userinfo.email

    2. .../auth/userinfo.profile

    3. openid

  9. Wählen Sie unter Test users (Testbenutzer) die Option Add users (Benutzer hinzufügen) aus. Geben Sie Ihre E-Mail-Adresse und weitere autorisierte Testbenutzer ein und wählen Sie dann SAVE AND CONTINUE (SPEICHERN UND FORTFAHREN) aus.

  10. Erweitern Sie die linke Navigationsleiste erneut und wählen Sie APIs and Services (APIs und Services) und dann Credentials (Anmeldeinformationen) aus.

  11. Klicken Sie auf CREATE CREDENTIALS (ANMELDEINFORMATIONEN ERSTELLEN) und auf OAuth client ID (OAuth-Client-ID).

  12. Wählen Sie einen Application type (Anwendungstyp) aus und geben Sie Ihrem Client im Feld Name (Name) einen Namen.

  13. Wählen Sie unter Autorisierte JavaScript Ursprünge die Option URI HINZUFÜGEN aus. Geben Sie Ihre Benutzerpool-Domäne ein.

    https://mydomain.us-east-1.amazoncognito.com
  14. Wählen Sie unter Authorized redirect URIs (Autorisierte Umleitungs-URIs) die Option ADD URI (URI HINZUFÜGEN) aus. Geben Sie den Pfad zum Endpunkt /oauth2/idpresponse Ihrer Benutzerpool-Domäne ein.

    https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
  15. Wählen Sie CREATE (Erstellen) aus.

  16. Speichern Sie die Werte sicher, die Google unter Your client ID (Ihre Client-ID) und Your client secret (Ihr Client-Schlüssel) anzeigt. Stellen Sie diese Werte Amazon Cognito zur Verfügung, wenn Sie einen Google-IDP hinzufügen.

Die meisten up-to-date Informationen zur Einrichtung von Sign in with Apple finden Sie unter Konfiguration Ihrer Umgebung für die Anmeldung mit Apple in der Apple-Dokumentation für Entwickler.

  1. Erstellen Sie ein Entwickler-Konto bei Apple.

  2. Melden Sie sich mit Ihren Apple-Anmeldeinformationen an.

  3. Wählen Sie in der linken Navigationsleiste Certificates, Identifiers & Profiles (Zertifikate, IDs und Profile) aus.

  4. Wählen Sie in der linken Navigationsleiste Kennungen aus.

  5. Wählen Sie auf der Seite Kennungen das Symbol + aus.

  6. Wählen Sie auf der Seite Neue Kennung registrieren die Option App-IDs und dann Weiter aus.

  7. Wählen Sie auf der Seite Select a type (Typ auswählen) die Option App und dann Continue (Weiter) aus.

  8. Machen Sie auf der Seite Registrieren einer App-ID das Folgende:

    1. Geben Sie unter Description (Beschreibung) eine Beschreibung ein.

    2. Geben Sie unter App ID Prefix (App-ID-Präfix) eine Bundle ID (Bündel-ID) ein. Notieren Sie sich den Wert unter App ID Prefix (App-ID-Präfix). Sie benötigen diesen Wert, nachdem Sie Apple als Identitätsanbieter in Schritt 2: Hinzufügen eines Social-Identity-Anbieters zu Ihrem Benutzerpool ausgewählt haben.

    3. Wählen Sie unter Funktionen die Option Mit Apple anmelden und dann Bearbeiten aus.

    4. Wählen Sie auf der Seite Sign in with Apple: App ID Configuration (Mit Apple anmelden: App-ID-Konfiguration) aus, ob Sie die App entweder als primär oder mit anderen App-IDs gruppiert einrichten möchten. Klicken Sie dann auf Save (Speichern).

    5. Klicken Sie auf Continue.

  9. Wählen Sie auf der Seite App-ID bestätigen die Option Registrieren aus.

  10. Wählen Sie auf der Seite Kennungen das Symbol + aus.

  11. Wählen Sie auf der Seite Neue Kennung registrieren die Option Services-IDs und dann Weiter aus.

  12. Machen Sie auf der Seite Registrieren einer Service-ID das Folgende:

    1. Geben Sie unter Beschreibung eine Beschreibung ein.

    2. Geben Sie unter Kennungen eine Kennung ein. Notieren Sie sich diese Service-ID, da Sie diesen Wert benötigen, nachdem Sie Apple als Identitätsanbieter in ausgewählt haben Schritt 2: Hinzufügen eines Social-Identity-Anbieters zu Ihrem Benutzerpool.

    3. Wählen Sie Continue (Weiter) und dann Register (Registrieren) aus.

  13. Wählen Sie auf der Seite „Identifiers“ (Bezeichner) die gerade erstellte Service-ID aus.

    1. Wählen Sie Mit Apple anmelden und dann Konfigurieren aus.

    2. Wählen Sie auf der Seite Web Authentication Configuration (Konfiguration der Web-Authentifizierung) die App-ID, die Sie zuvor erstellt haben, als Primary App ID (Primäre App-ID) aus.

    3. Wählen Sie neben Website URLs (Website-URLs) das Symbol + aus.

    4. Geben Sie unter Domains and subdomains (Domänen und Subdomänen) Ihre Benutzerpool-Domäne ohne das Präfix https:// ein.

      mydomain.us-east-1.amazoncognito.com
    5. Geben Sie unter Return URLs (URLs zurückgeben) den Pfad zum Endpunkt /oauth2/idpresponse Ihrer Benutzerpool-Domäne ein.

      https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
    6. Wählen Sie Next (Weiter) und anschließend Done (Fertig) aus. Sie müssen die Domäne nicht verifizieren.

    7. Wählen Sie Continue (Weiter) und anschließend Save (Speichern) aus.

  14. Wählen Sie in der linken Navigationsleiste die Option Schlüssel aus.

  15. Klicken Sie auf der Seite Schlüssel auf das Symbol +.

  16. Machen Sie auf der Seite Registrieren eines neuen Schlüssels das Folgende:

    1. Geben Sie unter Key Name (Schlüsselname) einen Schlüsselnamen ein.

    2. Wählen Sie Mit Apple anmelden und dann Konfigurieren aus.

    3. Wählen Sie auf der Seite Configure Key (Schlüssel konfigurieren) die App-ID, die Sie zuvor erstellt haben, als Primary App ID (Primäre App-ID) aus. Wählen Sie Speichern.

    4. Wählen Sie Weiter und dann Registrieren aus.

  17. Wählen Sie auf der Seite Download Your Key (Schlüssel herunterladen) die Option Download (Herunterladen) aus, um den privaten Schlüssel herunterzuladen. Notieren Sie die angezeigte Schlüssel-ID und klicken Sie anschließend auf Done (Fertig). Sie benötigen diesen privaten Schlüssel und den auf dieser Seite angezeigten Wert für die Schlüssel-ID, nachdem Sie Apple als Identitätsanbieter in Schritt 2: Hinzufügen eines Social-Identity-Anbieters zu Ihrem Benutzerpool ausgewählt haben.

Schritt 2: Hinzufügen eines Social-Identity-Anbieters zu Ihrem Benutzerpool

Um einen Benutzerpool Social IdP mit dem zu konfigurieren AWS Management Console
  1. Melden Sie sich bei der Amazon-Cognito-Konsole an. Wenn Sie dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder erstellen Sie einen neuen Benutzerpool.

  4. Wählen Sie die Registerkarte Sign-in experience (Anmeldeerlebnis) aus. Suchen Sie nach Federated sign-in (Verbundanmeldung) und wählen Sie Add an identity provider (Identitätsanbieter hinzufügen) aus.

  5. Wählen Sie einen Social-IdP aus: Facebook, Google, Login with Amazon oder Mit Apple anmelden.

  6. Wählen Sie basierend auf Ihrer Wahl des Social-IdP einen der folgenden Schritte aus:

    • Google und Login with Amazon – Geben Sie die App-Client-ID und das App-Clientgeheimnis ein, das Sie im vorherigen Abschnitt erstellt haben.

    • Facebook – Geben Sie die App-Client-ID und das App-Clientgeheimnis ein, das Sie im vorherigen Abschnitt erstellt haben. Wählen Sie anschließend eine API-Version aus (z. B. Version 2.12). Wir empfehlen, die neueste Version auszuwählen, da jede Facebook-API-Version einen Lebenszyklus und ein Abkündigungsdatum hat. Facebook-Bereiche und Attribute können zwischen API-Versionen variieren. Wir empfehlen, Ihre Social-Identity-Anmeldung mit Facebook zu testen, um sicherzustellen, dass der Verbund wie vorgesehen funktioniert.

    • Mit Apple anmelden – Geben Sie die Service-ID, Team-ID, Schlüssel-ID und den privaten Schlüssel ein, die/den Sie im vorherigen Abschnitt erstellt haben.

  7. Geben Sie die Namen der autorisierten Bereiche ein, die Sie verwenden möchten. Bereiche definieren, auf welche Benutzerattribute (wie z. B. name und email) mit Ihrer App zugreifen möchten. Für Facebook müssen diese durch Kommata voneinander getrennt werden. Für Google und "Login with Amazon (Anmelden mit Amazon)" müssen die Werte mit Leerzeichen getrennt werden. Aktivieren Sie für "Sign in with Apple (Mit Apple anmelden)" die Kontrollkästchen der Bereiche, auf die Sie Zugriff benötigen.

    Anbieter sozialer Identitäten Beispiel-Bereiche
    Facebook public_profile, email
    Google profile email openid
    Login with Amazon profile postal_code
    Mit Apple anmelden email name

    Der App-Benutzer wird aufgefordert, der Bereitstellung dieser Attribute für die App zuzustimmen. Weitere Informationen zu den jeweiligen Bereichen enthält die Dokumentation von Google, Facebook, Login with Amazon oder Mit Apple anmelden.

    Bei Verwendung von „Mit Apple anmelden“ werden Bereiche in den folgenden Benutzerszenarien unter Umständen nicht zurückgegeben:

    • Bei einem Endbenutzer kommt es nach dem Verlassen der Anmeldeseite von Apple zu Fehlern (interne Fehler von Amazon Cognito oder Probleme in dem vom Entwickler geschriebenen Quelltext).

    • Die Service-ID wird über Benutzerpools und/oder andere Authentifizierungs-Services hinweg verwendet.

    • Ein Entwickler fügt Bereiche hinzu, nachdem der betreffende Endbenutzer sich angemeldet hat (es werden keine neuen Informationen abgerufen).

    • Ein Entwickler löscht den Benutzer und der Benutzer meldet sich dann erneut an, ohne die App zuvor aus seinem Apple-ID-Profil zu entfernen.

  8. Ordnen Sie Ihrem Benutzerpool Attribute von Ihrem IdP zu. Weitere Informationen finden Sie unter Geben Sie die Identitätsanbieter-Attributzuordnungen für Ihren Benutzerpool an.

  9. Wählen Sie Create (Erstellen) aus.

  10. Wählen Sie auf der Registerkarte App client integration (App-Client-Integration) einen der App-Clients aus der Liste aus und klicken Sie anschließend auf Edit hosted UI settings (Einstellungen für gehostete UI bearbeiten). Fügen Sie unter Identity providers (Identitätsanbieter) den neuen Social-IdP zum App-Client hinzu.

  11. Wählen Sie Save Changes.

Schritt 3: Testen der Konfiguration Ihres Social-Identity-Anbieters

Unter Verwendung der Elemente aus den vorherigen zwei Abschnitten können Sie eine Anmelde-URL erstellen. Verwenden Sie sie zum Testen der Konfiguration Ihres sozialen IdP.

https://mydomain.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com

Sie finden Ihre Domäne auf der Konsolenseite Domain name (Domänenname) für den Benutzerpool. Die Client-ID befindet sich auf der Registerkarte App client settings (App-Client-Einstellungen). Verwenden Sie Ihre Callback-URL für den redirect_uri-Parameter. Dies ist die URL der Seite, auf die Ihre Benutzer nach einer erfolgreichen Authentifizierung umgeleitet werden.

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.