Vom Benutzerpool verwaltete Anmeldung - 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.

Vom Benutzerpool verwaltete Anmeldung

Sie können eine Webdomain auswählen, um Dienste für Ihren Benutzerpool zu hosten. Ein Amazon Cognito Cognito-Benutzerpool erhält die folgenden Funktionen, wenn Sie eine Domain hinzufügen, die zusammen als verwaltete Anmeldung bezeichnet wird.

  • Ein Autorisierungsserver, der als Identitätsanbieter (IdP) für Anwendungen fungiert, die mit OAuth 2.0 und OpenID Connect (OIDC) funktionieren. Der Autorisierungsserver leitet Authentifizierungsanfragen weiter, gibt JSON-Webtoken (JWTs) aus und verwaltet sie und stellt Informationen zu Benutzerattributen bereit.

  • Eine ready-to-use Benutzeroberfläche (UI) für Authentifizierungsvorgänge wie Anmeldung, Abmeldung und Passwortverwaltung. Die verwalteten Anmeldeseiten dienen als Web-Frontend für Authentifizierungsdienste.

  • Ein Service Provider (SP) oder Relying Party (RP) für SAML 2.0 IdPs, OIDC IdPs, Facebook, Login with Amazon, Sign in with Apple und Google.

Eine zusätzliche Option, die einige Funktionen mit der verwalteten Anmeldung teilt, ist die klassische gehostete Benutzeroberfläche. Die klassische gehostete Benutzeroberfläche ist eine Version der Managed Login Services der ersten Generation. Gehostete UI-IdP- und RP-Dienste haben im Allgemeinen dieselben Eigenschaften wie verwaltete Anmeldeseiten, aber die Anmeldeseiten haben ein einfacheres Design und weniger Funktionen. Beispielsweise ist die Anmeldung mit dem Hauptschlüssel in der klassischen gehosteten Benutzeroberfläche nicht verfügbar. Im Lite-Featureplan ist die klassische gehostete Benutzeroberfläche Ihre einzige Option für Benutzerpool-Domänendienste.

Bei den verwalteten Anmeldeseiten handelt es sich um eine Sammlung von Weboberflächen für grundlegende Aktivitäten wie Registrierung, Anmeldung, mehrstufige Authentifizierung und Kennwortzurücksetzung in Ihrem Benutzerpool. Sie verbinden Benutzer auch mit einem oder mehreren externen Identitätsanbietern (IdPs), wenn Sie Benutzern die Wahl zwischen verschiedenen Anmeldeoptionen geben möchten. Ihre App kann Ihre verwalteten Anmeldeseiten in den Browsern der Benutzer aufrufen, wenn Sie Benutzer authentifizieren und autorisieren möchten.

Sie können die Benutzererfahrung mit verwalteten Logins mit benutzerdefinierten Logos, Hintergründen und Stilen an Ihre Marke anpassen. Sie haben zwei Optionen für das Branding, das Sie auf Ihre verwaltete Anmelde-Benutzeroberfläche anwenden können: den Branding-Designer für die verwaltete Anmeldung und das (klassische) Branding der gehosteten Benutzeroberfläche für die gehostete Benutzeroberfläche.

Branding-Designer

Eine aktualisierte Benutzererfahrung mit den meisten up-to-date Authentifizierungsoptionen und einem visuellen Editor in der Amazon Cognito Cognito-Konsole.

Branding der gehosteten Benutzeroberfläche

Eine vertraute Benutzererfahrung für frühere Anwender von Amazon Cognito Cognito-Benutzerpools. Das Branding für die gehostete Benutzeroberfläche ist ein dateibasiertes System. Um das Branding auf gehostete UI-Seiten anzuwenden, laden Sie eine Logo-Bilddatei und eine Datei hoch, in der Werte für mehrere vordefinierte CSS-Stiloptionen festgelegt sind.

Der Branding-Designer ist nicht in allen Funktionsplänen für Benutzerpools verfügbar. Weitere Informationen finden Sie unter Funktionspläne für Benutzerpools.

Weitere Informationen zur Erstellung von Anfragen für verwaltete Anmelde- und gehostete Benutzeroberflächendienste finden Sie unterBenutzerpool-Endpunkte und Referenz für verwaltete Logins.

Anmerkung

Die von Amazon Cognito verwaltete Anmeldung unterstützt keine benutzerdefinierte Authentifizierung mit Lambda-Triggern für benutzerdefinierte Authentifizierungsherausforderungen.

Lokalisierung verwalteter Logins

Bei der verwalteten Anmeldung wird auf benutzerinteraktiven Seiten standardmäßig die englische Sprache verwendet. Sie können Ihre verwalteten Anmeldeseiten in lokalisierter Sprache für die Sprache Ihrer Wahl anzeigen. Die verfügbaren Sprachen sind diejenigen, die in der verfügbar sind AWS Management Console. Fügen Sie dem Link, den Sie an Benutzer verteilen, einen lang Abfrageparameter hinzu, wie im folgenden Beispiel gezeigt.

https://<your domain>/oauth2/authorize?lang=es&response_type=code&client_id=<your app client id>&redirect_uri=<your relying-party url>

Amazon Cognito setzt nach der ersten Anfrage mit einem lang Parameter ein Cookie im Browser der Benutzer mit ihrer Sprachpräferenz. Nachdem das Cookie gesetzt wurde, bleibt die Sprachauswahl bestehen, ohne dass der Parameter angezeigt wird oder dass Sie ihn in Anfragen aufnehmen müssen. Wenn ein Benutzer beispielsweise eine Anmeldeanfrage mit einem lang=de Parameter gestellt hat, werden seine verwalteten Anmeldeseiten auf Deutsch dargestellt, bis er seine Cookies löscht oder eine neue Anfrage mit einem neuen Lokalisierungsparameter wie stellt. lang=en

Die Lokalisierung ist nur für verwaltete Logins verfügbar. Sie müssen den Feature-Plan Essentials oder Plus nutzen und Ihrer Domain das Branding für verwaltete Logins zugewiesen haben.

Die Auswahl, die Ihr Benutzer bei der verwalteten Anmeldung vornimmt, ist für benutzerdefinierte E-Mail- oder SMS-Absender-Trigger nicht verfügbar. Wenn Sie diese Trigger implementieren, müssen Sie andere Mechanismen verwenden, z. B. das locale Attribut, um die bevorzugte Sprache eines Benutzers zu bestimmen.

Die folgenden Sprachen sind verfügbar.

Verwaltete Anmeldesprachen
Sprache Code
Deutsch de
Englisch en
Spanisch es
Französisch fr
Bahasa Indonesia id
Italienisch it
Japanisch ja
Koreanisch ko
Portugiesisch pt-BR
Chinesisch (vereinfacht) zh-CN
Chinesisch (traditionell) zh-TW

Verwaltete Anmeldung einrichten mit AWS Amplify

Wenn Sie AWS Amplify Ihrer Web- oder mobilen App Authentifizierung hinzufügen, können Sie Ihre verwalteten Anmeldeseiten in der Amplify-Befehlszeilenschnittstelle (CLI) und Bibliotheken im Amplify-Framework einrichten. Um Ihrer App eine Authentifizierung hinzuzufügen, fügen Sie die Auth Kategorie zu Ihrem Projekt hinzu. Authentifizieren Sie dann in Ihrer Anwendung Benutzerpool-Benutzer mit Amplify-Clientbibliotheken.

Sie können verwaltete Anmeldeseiten zur Authentifizierung aufrufen oder Benutzer über einen Autorisierungsendpunkt zusammenführen, der zu einem IdP weiterleitet. Nachdem sich ein Benutzer erfolgreich beim Anbieter authentifiziert hat, erstellt Amplify einen neuen Benutzer in Ihrem Benutzerpool und übergibt die Token des Benutzers an Ihre App.

Die folgenden Beispiele zeigen, wie Sie AWS Amplify die verwaltete Anmeldung mit sozialen Anbietern in Ihrer App einrichten können.

Verwaltete Anmeldung mit der Amazon Cognito Cognito-Konsole einrichten

Die erste Voraussetzung für die verwaltete Anmeldung und die gehostete Benutzeroberfläche ist eine Benutzerpool-Domain. Navigieren Sie in der Benutzerpools-Konsole zur Registerkarte Domain Ihres Benutzerpools und fügen Sie eine Cognito-Domain oder eine benutzerdefinierte Domain hinzu. Sie können auch während der Erstellung eines neuen Benutzerpools eine Domain auswählen. Weitere Informationen finden Sie unter Konfigurieren einer Benutzerpool-Domäne. Wenn eine Domain in Ihrem Benutzerpool aktiv ist, stellen alle App-Clients öffentliche Authentifizierungsseiten in dieser Domain bereit.

Wenn Sie eine Benutzerpool-Domain erstellen oder ändern, legen Sie die Branding-Version für Ihre Domain fest. Bei dieser Branding-Version haben Sie die Wahl zwischen verwalteter Anmeldung und gehosteter Benutzeroberfläche (klassisch). Die von Ihnen gewählte Branding-Version gilt für alle App-Clients, die die Anmeldedienste in Ihrer Domain verwenden.

Der nächste Schritt besteht darin, auf der Registerkarte App-Clients in Ihrem Benutzerpool einen App-Client zu erstellen. Bei der Erstellung eines App-Clients fragt Amazon Cognito Sie nach Informationen zu Ihrer Anwendung und fordert Sie dann auf, eine Rückgabe-URL auszuwählen. Die Rückgabe-URL wird auch als Relying Party (RP) -URL, Umleitungs-URI und Callback-URL bezeichnet. Dies ist die URL, von der aus Ihre Anwendung ausgeführt wird, zum Beispiel https://www.example.com odermyapp://example.

Nachdem Sie in Ihrem Benutzerpool eine Domain und einen App-Client mit einem Branding-Stil konfiguriert haben, sind Ihre verwalteten Anmeldeseiten im Internet verfügbar.

Anzeigen Ihrer Anmeldeseite

Wählen Sie in der Amazon Cognito Cognito-Konsole auf der Registerkarte Anmeldeseiten für Ihren App-Client im Menü App-Clients die Schaltfläche Anmeldeseiten anzeigen. Mit dieser Schaltfläche gelangen Sie zu einer Anmeldeseite in Ihrer Benutzerpool-Domain mit den folgenden grundlegenden Parametern.

  • Die App-Client-ID

  • Eine Anfrage zur Erteilung eines Autorisierungscodes

  • Eine Anfrage für alle Bereiche, die Sie für den aktuellen App-Client aktiviert haben

  • Die erste Rückruf-URL in der Liste für den aktuellen App-Client

Die Schaltfläche Anmeldeseite anzeigen ist nützlich, wenn Sie die Grundfunktionen Ihrer verwalteten Anmeldeseiten testen möchten. Ihre Anmeldeseiten entsprechen der Branding-Version, die Sie Ihrer Benutzerpool-Domain zugewiesen haben. Sie können Ihre Anmelde-URL mit zusätzlichen und geänderten Parametern anpassen. In den meisten Fällen entsprechen die automatisch generierten Parameter des Links Anmeldeseite anzeigen nicht vollständig den Anforderungen Ihrer App. In diesen Fällen müssen Sie die URL anpassen, die Ihre App beim Anmelden Ihrer Benutzer aufruft. Weitere Informationen zu den Parameterschlüsseln und -werten für die Anmeldung finden Sie unter Benutzerpool-Endpunkte und Referenz für verwaltete Logins.

Die Anmelde-Webseite verwendet das folgende URL-Format. In diesem Beispiel wird die Erteilung eines Autorisierungscodes mit dem response_type=code-Parameter angefordert.

https://<your domain>/oauth2/authorize?response_type=code&client_id=<your app client id>&redirect_uri=<your relying-party url>

Sie können die Domainzeichenfolge Ihres Benutzerpools im Domain-Menü in Ihrem Benutzerpool nachschlagen. Im Menü App-Clients können Sie den App-Client IDs, seinen Callback URLs, seine zulässigen Bereiche und andere Konfigurationen identifizieren.

Wenn Sie zum /oauth2/authorize-Endpunkt mit Ihren benutzerdefinierten Parametern navigieren, leitet Amazon Cognito Sie entweder zum /oauth2/login-Endpunkt oder im Hintergrund zu Ihrer IDP-Anmeldeseite um, sofern Sie einen identity_provider- oder idp_identifier-Parameter angegeben haben.

Beispiel für eine Anfrage für einen impliziten Zuschuss

Sie können Ihre Anmeldeseite mit der folgenden URL für die implizite Codegewährung aufrufen, wo. response_type=token Nach einer erfolgreichen Anmeldung gibt Amazon Cognito Benutzerpool-Token in die Adresszeile Ihres Webbrowsers aus.

https://mydomain.us-east-1.amazoncognito.com/authorize?response_type=token&client_id=1example23456789&redirect_uri=https://mydomain.example.com

Die Identitäts- und Zugriffstoken werden als Parameter angezeigt, die an Ihre Weiterleitungs-URL angefügt werden.

Das folgende Beispiel ist eine Antwort von einer impliziten Erteilungsanforderung.

https://mydomain.example.com/#id_token=eyJraaBcDeF1234567890&access_token=eyJraGhIjKlM1112131415&expires_in=3600&token_type=Bearer

Anpassen Ihrer Authentifizierungsseiten

In der Vergangenheit hostete Amazon Cognito nur Anmeldeseiten mit der klassischen gehosteten Benutzeroberfläche, einem einfachen Design, das Authentifizierungswebseiten ein universelles Aussehen verleiht. Sie könnten Amazon Cognito Cognito-Benutzerpools mit einem Logobild anpassen und einige Stile mit einer Datei optimieren, die einige CSS-Stilwerte spezifiziert. Später führte Amazon Cognito Managed Login ein, einen aktualisierten gehosteten Authentifizierungsdienst. Die verwaltete Anmeldung wurde look-and-feel mit dem Branding-Designer aktualisiert. Der Branding-Designer ist ein visueller Editor ohne Code und bietet mehr Optionen als die gehostete Benutzerschnittstelle zur Anpassung der Benutzeroberfläche. Bei der verwalteten Anmeldung wurden außerdem benutzerdefinierte Hintergrundbilder und ein Dunkelmodus-Thema eingeführt.

Sie können in Benutzerpools zwischen verwalteter Anmeldung und gehosteten UI-Branding-Erlebnissen wechseln. Weitere Informationen zum Anpassen Ihrer verwalteten Anmeldeseiten finden Sie unterBranding auf verwaltete Anmeldeseiten anwenden.

Wissenswertes zur verwalteten Anmeldung und zur gehosteten Benutzeroberfläche

Das einstündige Cookie für verwaltete Anmeldung und gehostete UI-Sitzung

Wenn sich ein Benutzer mit Ihren Anmeldeseiten oder einem Drittanbieter anmeldet, setzt Amazon Cognito ein Cookie in seinem Browser. Mit diesem Cookie können sich Benutzer eine Stunde lang erneut mit derselben Authentifizierungsmethode anmelden. Wenn sie sich mit ihrem Browser-Cookie anmelden, erhalten sie neue Token, die für die in Ihrer App-Client-Konfiguration angegebene Dauer gültig sind. Änderungen an Benutzerattributen oder Authentifizierungsfaktoren haben keinen Einfluss auf ihre Fähigkeit, sich erneut mit ihrem Browser-Cookie anzumelden.

Durch die Authentifizierung mit dem Sitzungscookie wird die Cookie-Dauer nicht auf eine weitere Stunde zurückgesetzt. Benutzer müssen sich erneut anmelden, wenn sie mehr als eine Stunde nach ihrer letzten erfolgreichen interaktiven Authentifizierung versuchen, auf Ihre Anmeldeseiten zuzugreifen.

Bestätigung von Benutzerkonten und Überprüfung von Benutzerattributen

Für lokale Benutzer im Benutzerpool funktionieren die verwaltete Anmeldung und die gehostete Benutzeroberfläche am besten, wenn Sie Ihren Benutzerpool so konfigurieren, dass Cognito automatisch Nachrichten zur Überprüfung und Bestätigung sendet. Wenn Sie diese Einstellung aktivieren, sendet Amazon Cognito eine Nachricht mit einem Bestätigungscode an Benutzer, die sich registrieren. Wenn Sie Benutzer stattdessen als Benutzerpool-Administrator bestätigen, wird auf Ihren Anmeldeseiten nach der Registrierung eine Fehlermeldung angezeigt. In diesem Fall hat Amazon Cognito den neuen Benutzer erstellt, konnte aber keine Bestätigungsnachricht senden. Sie können Benutzer weiterhin als Administrator bestätigen, jedoch wenden die Benutzer sich möglicherweise an Ihren Support, wenn eine Fehlermeldung angezeigt wird. Weitere Informationen zur administrativen Bestätigung finden Sie unter Benutzern erlauben, sich in der Anwendung anzumelden, sie aber als Benutzerpool-Administrator bestätigen.

Ihre Änderungen an der Konfiguration werden angezeigt

Wenn Sie Stiländerungen an Ihren Seiten vornehmen und diese nicht sofort angezeigt werden, warten Sie ein paar Minuten und aktualisieren Sie dann die Seite.

Benutzerpool-Tokens decodieren

Amazon Cognito Cognito-Benutzerpool-Token werden mithilfe eines RS256 Algorithmus signiert. Sie können Benutzerpool-Token mithilfe von dekodieren und verifizieren. AWS Lambda Weitere Informationen finden Sie unter Amazon Cognito JWT-Token dekodieren und verifizieren auf. GitHub

AWS WAF Netz ACLs

Sie können Ihren Benutzerpool so konfigurieren, dass die Domain, die Ihre Anmeldeseiten und Ihren Autorisierungsserver bedient, mit Regeln im AWS WAF Internet geschützt wird ACLs. Derzeit gelten die von Ihnen konfigurierten Regeln nur für diese Seiten, wenn Sie die Login-Branding-Version Hosted UI (classic) verwaltet haben. Weitere Informationen finden Sie unter Wissenswertes über AWS WAF Web ACLs und Amazon Cognito.

TLS-Version

Seiten mit verwalteter Anmeldung und gehosteten Benutzeroberflächen müssen während der Übertragung verschlüsselt werden. Benutzerpool-Domänen, die von Amazon Cognito bereitgestellt werden, erfordern, dass die Browser der Benutzer eine TLS-Mindestversion von 1.2 aushandeln. Benutzerdefinierte Domains unterstützen Browserverbindungen mit TLS Version 1.2. Die gehostete Benutzeroberfläche (klassisch) erfordert kein TLS 1.2 für benutzerdefinierte Domänen, aber die neuere verwaltete Anmeldung erfordert TLS Version 1.2 sowohl für benutzerdefinierte Domänen als auch für Präfixdomänen. Da Amazon Cognito die Konfiguration Ihrer Domain-Services verwaltet, können Sie die TLS-Anforderungen Ihrer Benutzerpool-Domain nicht ändern.

CORS-Richtlinien

Weder die verwaltete Anmeldung noch die gehostete Benutzeroberfläche unterstützen benutzerdefinierte Ursprungsrichtlinien für Cross-Origin Resource Sharing (CORS). Eine CORS-Richtlinie würde Benutzer daran hindern, Authentifizierungsparameter in ihren Anfragen zu übergeben. Implementieren Sie stattdessen eine CORS-Richtlinie in Ihrem Anwendungs-Frontend. Amazon Cognito gibt einen Access-Control-Allow-Origin: * Antwort-Header auf Anfragen an die folgenden Endpunkte zurück.

Cookies

Die verwaltete Anmeldung und die gehostete Benutzeroberfläche setzen Cookies in den Browsern der Benutzer. Die Cookies entsprechen den Anforderungen einiger Browser, dass Websites keine Cookies von Drittanbietern setzen. Sie sind nur auf die Endpunkte Ihres Benutzerpools beschränkt und beinhalten Folgendes:

  • Ein XSRF-TOKEN Cookie für jede Anfrage.

  • Ein csrf-state Cookie für die Sitzungskonsistenz, wenn ein Benutzer umgeleitet wird.

  • Ein cognito Sitzungscookie, das erfolgreiche Anmeldeversuche eine Stunde lang speichert.

  • Ein lang Cookie, das die vom Benutzer gewählte Sprachlokalisierung bei der verwalteten Anmeldung beibehält.

  • Ein page-data Cookie, das die erforderlichen Daten speichert, wenn ein Benutzer zwischen verwalteten Anmeldeseiten navigiert.

In iOS können Sie alle Cookies blockieren. Diese Einstellung ist nicht mit der verwalteten Anmeldung oder der gehosteten Benutzeroberfläche kompatibel. Um mit Benutzern zu arbeiten, die diese Einstellung möglicherweise aktivieren, bauen Sie die Benutzerpoolauthentifizierung in eine native iOS-App mit einem AWS SDK ein. In diesem Szenario können Sie Ihren eigenen Sitzungsspeicher erstellen, der nicht auf Cookies basiert.

Auswirkungen der Änderung der verwalteten Anmeldeversion

Beachten Sie die folgenden Auswirkungen des Hinzufügens von Domänen und der Festlegung der Version für die verwaltete Anmeldung.

  • Wenn Sie eine Präfix-Domain hinzufügen, entweder mit verwaltetem Login oder mit gehosteter Benutzeroberfläche (klassisch), kann es bis zu 60 Sekunden dauern, bis Ihre Anmeldeseiten verfügbar sind.

  • Wenn Sie eine benutzerdefinierte Domain hinzufügen, entweder mit verwaltetem Login oder mit gehosteter Benutzeroberfläche (klassisch), kann es bis zu fünf Minuten dauern, bis Ihre Anmeldeseiten verfügbar sind.

  • Wenn Sie die Branding-Version für Ihre Domain ändern, kann es bis zu vier Minuten dauern, bis Ihre Anmeldeseiten in der neuen Branding-Version verfügbar sind.

  • Wenn Sie zwischen verwalteter Anmeldung und gehostetem UI-Branding (klassisch) wechseln, verwaltet Amazon Cognito keine Benutzersitzungen. Sie müssen sich erneut mit der neuen Oberfläche anmelden.

Standardstil

Wenn Sie in der einen App-Client erstellen AWS Management Console, weist Amazon Cognito Ihrem App-Client automatisch einen Branding-Stil zu. Wenn Sie mit dem CreateUserPoolClientVorgang programmgesteuert einen App-Client erstellen, wird kein Branding-Stil erstellt. Die verwaltete Anmeldung ist für einen App-Client, der mit einem AWS SDK erstellt wurde, erst verfügbar, wenn Sie einen mit einer CreateManagedLoginBrandingAnfrage erstellen.