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:

  • Melden Sie sich für ein Benutzerprofil an.

  • Melden Sie sich bei einem externen Identitätsanbieter an.

  • Melden Sie sich mit oder ohne Multi-Faktor-Authentifizierung an.

  • Setze ihr Passwort zurück.

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 eine Rückruf-URL für Ihren App-Client hinzu. Hier werden Sie zur gehosteten UI-Authentifizierung weitergeleitet. Sie müssen keine URL für die zulässige Abmeldung hinzufügen, bis Sie die Abmeldung in Ihrer App implementieren können.

    Bei einer iOS- oder Android-App, können Sie eine Rückruf-URL wie zum Beispiel verwenden myapp://.

  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) oder SAML anzumelden IdPs, konfigurieren Sie diese zunächst wie unter Benutzerpool-Anmeldung über einen Drittanbieter hinzufügen beschrieben. Kehren Sie dann zur Seite mit den App-Client-Einstellungen zurück, um sie zu aktivieren.

  16. Wählen Sie OAuth 2.0 Grant Types (OAuth 2.0 Erteilungstypen) aus. 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 Ihnen, den Ablauf für die Autorisierungscodegewährung in Verbindung mit Proof Key for Code Exchange (PKCE) für mobile Apps zu verwenden.

    Wählen Sie Implizite Gewährung, damit Sie von Amazon Cognito Benutzerpool-JSON-Web-Tokens (JWT) erhalten. 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-URL aufgeführt sind.

Sie können die gehostete UI-Anmeldewebseite manuell mit der folgenden URL aufrufen. 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 gehosteten UI-Anmelde-Webseite mit der folgenden URL für die implizite Codegewährung anzeigen, wenn response_type = Token. 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 die JSON Web Token (JWT)-Identitätstoken hinter dem Parameter #idtoken= in der Antwort.

Die folgende URL ist ein Beispiel für eine Antwort von einer impliziten Erteilungsanforderung. Ihre Identitätstoken-Zeichenfolge wird viel länger sein.

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

Benutzerpool-Tokens von Amazon Cognito werden unter Verwendung 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-Token dekodieren und verifizieren. AWS GitHub

Ihre Domäne wird auf der Seite Domain name (Domänenname) angezeigt. Ihre App-Client-ID und die Callback-URL werden auf der Seite General settings (Allgemeine 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.