Fügen Sie einen App-Client mit der gehosteten Benutzeroberfläche hinzu - 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.

Fügen Sie einen App-Client mit der gehosteten Benutzeroberfläche hinzu

Nachdem Sie einen Benutzerpool erstellt haben, können Sie einen App-Client für eine Anwendung erstellen, der die integrierten Webseiten der gehosteten Benutzeroberfläche aufruft. In der gehosteten Benutzeroberfläche können Benutzer:

Nachdem Sie einen Amazon Cognito Cognito-Benutzerpool erstellt haben, besteht der nächste Schritt darin, einen App-Client einzurichten. Ein App-Client sind die Benutzerpool-Einstellungen für eine Anwendung. Diese Anwendung kann Benutzer über die gehostete Benutzeroberfläche, SDK Anfragen an die Benutzerpools API oder beides authentifizieren. In diesem Fall konfigurieren wir einen App-Client für die gehostete Benutzeroberfläche und den OAuth 2.0-Autorisierungsserver. Die gehostete Benutzeroberfläche ist eine Sammlung von Webseiten, die allgemeine Benutzerauthentifizierungsabläufe wie Registrierung, Anmeldung, Kennwortzurücksetzung und Multi-Faktor-Authentifizierung verarbeiten.

Wenn Sie die gehostete Benutzeroberfläche aktivieren, aktivieren Sie auch einen OAuth 2.0-Autorisierungsserver. Der Autorisierungsserver verarbeitet die Authentifizierungsabläufe OpenID Connect (OIDC) und OAuth 2.0. Zu den Aufgaben gehören das Abfragen von Benutzerkonten, das Ausstellen von Token und die Integration mit externen Identitätsanbietern. Die gehostete Benutzeroberfläche und der Autorisierungsserver eignen sich am besten für Anwendungen, bei denen Sie die Erstellung benutzerdefinierter Benutzeroberflächen einschränken möchten und bei denen Ihre Anwendung am besten mit OIDC Identitätsanbietern zusammenarbeitet.

Im Folgenden sind einige der Funktionen der gehosteten Benutzeroberfläche und des Autorisierungsservers aufgeführt:

Funktionen, die ausschließlich für gehostete UI-App-Clients verfügbar sind
Funktionen, die von gehosteten Benutzeroberflächen und SDK basierten App-Clients gemeinsam genutzt werden
Um einen App-Client für die gehostete Benutzeroberfläche zu erstellen, melden Sie sich an
  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. Wenn Sie einen neuen Benutzerpool erstellen, werden Sie aufgefordert, einen App-Client einzurichten und die gehostete Benutzeroberfläche mit dem Assistenten zu konfigurieren.

  4. Navigieren Sie zur Registerkarte App integration (Anwendungsintegration) für Ihren Benutzerpool.

  5. Wählen Sie neben Domäne Aktionen aus und dann entweder Benutzerdefinierte Domäne erstellen oder Amazon-Cognito-Domäne erstellen. Wenn Sie bereits eine Benutzerpool-Domain konfiguriert haben, wählen Sie Amazon-Cognito-Domäne löschen oder Benutzerdefinierte Domäne löschen aus, bevor Sie Ihre neue benutzerdefinierte Domain erstellen.

  6. Geben Sie ein verfügbares Domain-Präfix zur Verwendung mit einer Amazon-Cognito-Domäne ein. Weitere Informationen zum Einrichten einer Custom domain (Benutzerdefinierte Domäne) finden Sie unter Verwenden der eigenen Domäne für die gehostete Benutzeroberfläche.

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

  8. Navigieren Sie für den gleichen Benutzerpool zurück zur Registerkarte App integration (Anwendungsintegration) und suchen Sie nach App-Clients. Wählen Sie Create an app client (App-Client erstellen) aus.

  9. Wählen Sie einen Anwendungstyp aus. Einige empfohlene Einstellungen werden basierend auf Ihrer Auswahl bereitgestellt. Eine App, die die gehostete Benutzeroberfläche verwendet, ist einöffentlicher Client

  10. Geben Sie einen App-Client-Namen ein.

  11. Wählen Sie für diese Übung Don't generate client secret (Kein Clientgeheimnis generieren) aus. Das Clientgeheimnis wird von vertraulichen Apps verwendet, die Benutzer aus einer zentralisierten Anwendung authentifizieren. In dieser Übung präsentieren Sie Ihren Benutzern eine Anmeldeseite für die gehostete Benutzeroberfläche und benötigen kein Clientgeheimnis.

  12. Wählen Sie die Authentifizierungsabläufe aus, die Sie mit Ihrer App zulassen möchten. Stellen Sie sicher, dass USER_SRP_AUTH ausgewählt wurde.

  13. Passen Sie den Token-Ablauf, erweiterte Sicherheitskonfigurationen und Lese- und Schreibberechtigungen für Attribute nach Bedarf an. Weitere Informationen finden Sie unter Konfigurieren der App-Client-Einstellungen.

  14. Fügen Sie einen Rückruf URL für Ihren App-Client hinzu. Hier werden Sie zur gehosteten UI-Authentifizierung weitergeleitet. Sie müssen die Option Zulässige Abmeldung URL erst hinzufügen, wenn Sie die Abmeldung in Ihrer App implementieren können.

    Für eine iOS- oder Android-App können Sie einen Rückruf URL wie myapp:// verwenden.

  15. Wählen Sie die Identitätsanbieter für den App-Client aus. Aktivieren Sie mindestens Amazon-Cognito-Benutzerpool als Anbieter.

    Anmerkung

    Um sich bei externen Identitätsanbietern (IdPs) wie Facebook, Amazon, Google und Apple sowie über OpenID Connect (OIDC) anzumelden, oder konfigurieren Sie sie zunächst wie unter Benutzerpool hinzufügen beschrieben SAML IdPs, melden Sie sich über einen Drittanbieter an. Kehren Sie dann zur Seite mit den App-Client-Einstellungen zurück, um sie zu aktivieren.

  16. Wählen Sie OAuth2.0 Grant Types. Wählen Sie Authorization code grant (Autorisierungscodegewährung), um einen Autorisierungscode auszugeben, der dann gegen die Benutzerpool-Tokens ausgetauscht wird. Da diese Tokens niemals einem Endbenutzer direkt gezeigt werden, sind sie weniger anfällig gegen Angriffe. Allerdings ist am Backend eine benutzerdefinierte Anwendung erforderlich, um den Autorisierungscode gegen Benutzerpool-Tokens austauschen zu können. Aus Sicherheitsgründen empfehlen wir, den Ablauf für die Gewährung von Autorisierungscodes zusammen mit dem Proof Key for Code Exchange (PKCE) für mobile Apps zu verwenden.

    Wählen Sie Implizite Gewährung aus, damit Ihnen JSON Benutzerpool-Webtoken (JWT) von Amazon Cognito zurückgegeben werden. Sie können diesen Ablauf verwenden, wenn kein Backend für den Austausch eines Autorisierungscodes gegen Tokens vorhanden ist. Er ist auch für das Debugging von Tokens nützlich.

    Anmerkung

    Sie können Authorization code grant (Autorisierungscodegewährung) und Implicit code grant (Implizite Codegewährung) aktivieren und dann beide Gewährungen nach Bedarf verwenden.

    Wählen Sie Client credentials (Client-Anmeldeinformationen) nur dann, wenn Ihre App Zugriffstoken für sich und nicht für einen Benutzer anfordern muss.

  17. Sofern Sie nicht ausdrücklich etwas ausschließen möchten, wählen Sie alle OpenID-Connect-Bereiche aus.

  18. Wählen Sie alle benutzerdefinierten Bereiche aus, die Sie konfiguriert haben. Benutzerdefinierte Bereiche werden normalerweise mit vertraulichen Clients verwendet.

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

So zeigen Sie Ihre Anmeldeseite an

Wählen Sie auf Ihrer App-Client-Seite die Option Gehostete Benutzeroberfläche anzeigen aus, um einen neuen Browser-Tab mit einer Anmeldeseite zu öffnen, auf der bereits die Parameter App-Client-ID, Bereich, Grant und Callback aufgeführt sind. URL

Sie können die Anmeldewebseite für die gehostete Benutzeroberfläche wie folgt manuell aufrufen. URL beachten Sie den response_type. In diesem Fall ist dies response_type=code für die Autorisierungscodegewährung.

https://your_domain/login?response_type=code&client_id=your_app_client_id&redirect_uri=your_callback_url

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

https://your_domain/login?response_type=token&client_id=your_app_client_id&redirect_uri=your_callback_url

Sie finden das JSON Web-Token (JWT) -Identitätstoken hinter dem Parameter in der Antwort. #idtoken=

Im Folgenden finden Sie URL ein Beispiel für eine Antwort auf eine implizite Zuschussanfrage. Ihre Identitätstoken-Zeichenfolge wird viel länger sein.

https://www.example.com/#id_token=123456789tokens123456789&expires_in=3600&token_type=Bearer

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

Ihre Domäne wird auf der Seite Domain name (Domänenname) angezeigt. Ihre App-Client-ID und Ihr Rückruf URL werden auf der Seite mit den allgemeinen Einstellungen angezeigt. Wenn die Änderungen, die Sie in der Konsole vorgenommen haben, nicht sofort angezeigt werden, warten Sie ein paar Minuten und aktualisieren Sie dann Ihren Browser.