Richten Sie eine Beispiel-Android-App mit Flutter ein - 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.

Richten Sie eine Beispiel-Android-App mit Flutter ein

In diesem Tutorial erstellen Sie eine mobile Anwendung in Android Studio, mit der Sie ein Gerät emulieren und die Benutzeranmeldung, Bestätigung und Anmeldung testen können. Diese Beispielanwendung erstellt einen einfachen mobilen Amazon Cognito Cognito-Benutzerpool-Client für Android in Flutter. Wenn Sie bereits Erfahrung mit der Entwicklung mobiler Apps mit Flutter haben, laden Sie die Beispiel-App von herunter. GitHub

Der folgende Screenshot zeigt, wie die App auf einem virtuellen Android-Gerät läuft.

Ein Screenshot der Anmeldeseite für eine virtualisierte Android-Beispiel-App.

Mit dem Verfahren Benutzerpool erstellen richten Sie einen Benutzerpool ein, der mit der Beispielanwendung funktioniert. Sie können diesen Schritt überspringen, wenn Sie über einen Benutzerpool verfügen, der die folgenden Anforderungen erfüllt:

  • Benutzer können sich mit ihrer E-Mail-Adresse anmelden. Anmeldeoptionen für den Cognito-Benutzerpool: E-Mail.

  • Bei Benutzernamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Anforderungen an Benutzernamen: Bei Benutzernamen zwischen Groß- und Kleinschreibung unterscheiden ist nicht ausgewählt.

  • Eine Multi-Faktor-Authentifizierung (MFA) ist nicht erforderlich. MFA-Durchsetzung: Optionales MFA.

  • Ihr Benutzerpool überprüft die Attribute für die Bestätigung des Benutzerprofils mit einer E-Mail-Nachricht. Zu verifizierende Attribute: E-Mail-Nachricht senden, E-Mail-Adresse verifizieren.

  • E-Mail ist das einzige erforderliche Attribut. Erforderliche Attribute: E-Mail.

  • Benutzer können sich selbst in Ihrem Benutzerpool anmelden. Selbstregistrierung: Selbstregistrierung aktivieren ist ausgewählt.

  • Ihr erster App-Client ist ein öffentlicher Client, der die Anmeldung mit Benutzername und Passwort ermöglicht. App-Typ: Öffentlicher Client, Authentifizierungsabläufe:ALLOW_USER_PASSWORD_AUTH.

Erstellen Sie einen neuen Benutzerpool
  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 die Schaltfläche Benutzerpool erstellen. Möglicherweise müssen Sie im linken Navigationsbereich Benutzerpools auswählen, um diese Option anzuzeigen.

  3. Wählen Sie in der rechten oberen Ecke der Seite Create a user pool (Benutzerpool erstellen) aus, um den Assistenten zur Erstellung von Benutzerpools zu starten.

  4. Unter Anmeldevorgang konfigurieren können Sie die Identitätsanbieter (IdPs) auswählen, die Sie mit diesem Benutzerpool verwenden möchten. Weitere Informationen finden Sie unter Hinzufügen einer Benutzerpool-Anmeldung über einen Drittanbieter.

    1. Stellen Sie unter Authentifizierungsanbieter für Anbietertypen sicher, dass nur der Cognito-Benutzerpool ausgewählt ist.

    2. Wählen Sie für die Anmeldeoptionen für den Cognito-Benutzerpool die Option Benutzername aus. Wählen Sie keine zusätzlichen Anforderungen für den Benutzernamen aus.

    3. Behalten Sie alle anderen Optionen als Standard bei und wählen Sie Weiter.

  5. Unter Sicherheitsanforderungen konfigurieren können Sie Ihre Passwortrichtlinie, die Anforderungen für die Multi-Faktor-Authentifizierung (MFA) und die Wiederherstellungsoptionen für Benutzerkonten auswählen. Weitere Informationen finden Sie unter Verwendung der Sicherheitsfunktionen für Amazon-Cognito-Benutzerpools.

    1. Stellen Sie für die Passwortrichtlinie sicher, dass der Passwortrichtlinienmodus auf die Cognito-Standardeinstellungen eingestellt ist.

    2. Wählen Sie unter Multi-Faktor-Authentifizierung für die MFA-Durchsetzung die Option Optionales MFA aus.

    3. Wählen Sie für MFA-Methoden die Option Authenticator-Apps und SMS-Nachricht.

    4. Vergewissern Sie sich, dass für die Wiederherstellung von Benutzerkonten die Option Self-Service-Kontowiederherstellung aktivieren ausgewählt ist und dass die Nachrichtenübermittlungsmethode für die Benutzerkontowiederherstellung auf Nur E-Mail eingestellt ist.

    5. Behalten Sie alle anderen Optionen als Standard bei und wählen Sie Weiter.

  6. Unter Anmeldevorgang konfigurieren können Sie festlegen, wie neue Benutzer ihre Identität überprüfen, wenn sie sich als neuer Benutzer registrieren, und welche Attribute bei der Benutzerregistrierung erforderlich oder optional sein sollen. Weitere Informationen finden Sie unter Verwalten von Benutzern in Ihrem Benutzerpool.

    1. Vergewissern Sie sich, dass Selbstregistrierung aktivieren ausgewählt ist. Diese Einstellung öffnet Ihren Benutzerpool, sodass Sie sich von jedem Benutzer im Internet anmelden können. Dies ist für die Zwecke der Beispielanwendung vorgesehen. Wenden Sie diese Einstellung jedoch in Produktionsumgebungen mit Vorsicht an.

    2. Vergewissern Sie sich, dass unter Cognito-gestützte Überprüfung und Bestätigung das Kontrollkästchen Cognito das automatische Senden von Nachrichten zur Überprüfung und Bestätigung zulassen aktiviert ist.

    3. Vergewissern Sie sich, dass für Zu überprüfende Attribute die Option E-Mail-Nachricht senden, E-Mail-Adresse verifizieren ausgewählt ist.

    4. Vergewissern Sie sich, dass unter Attributänderungen überprüfen die Standardoptionen ausgewählt sind: Ursprünglichen Attributwert beibehalten, wenn ein Update aussteht, und Aktive Attributwerte, wenn ein Update aussteht auf E-Mail-Adresse gesetzt ist.

    5. Vergewissern Sie sich, dass unter Erforderliche Attribute, die auf vorherigen Auswahlen basieren, E-Mail angezeigt wird.

      Wichtig

      Für diese Beispielanwendung darf Ihr Benutzerpool phone_number nicht als erforderliches Attribut festlegen. Wenn phone_number als erforderliches Attribut angezeigt wird, überprüfen und aktualisieren Sie Ihre vorherigen Einstellungen:

      • Optionales MFA, nur E-Mail als Zustellungsmethode für Nachrichten zur Wiederherstellung von Benutzerkonten

      • E-Mail-Nachricht senden, E-Mail-Adresse für zu verifizierende Attribute verifizieren

    6. Behalten Sie alle anderen Optionen als Standard bei und wählen Sie Weiter.

  7. Unter Nachrichtenzustellung konfigurieren können Sie die Integration mit Amazon Simple Email Service und Amazon Simple Notification Service konfigurieren, um Ihren Benutzern E-Mail- und SMS-Nachrichten zur Registrierung, Kontobestätigung, MFA und Kontowiederherstellung zu senden. Weitere Informationen finden Sie unter E-Mail-Einstellungen für Amazon-Cognito-Benutzerpools und Einstellungen für SMS-Nachrichten für Amazon-Cognito-Benutzerpools.

    1. Wählen Sie für E-Mail-Anbieter die Option E-Mail mit Cognito senden und verwenden Sie den von Amazon Cognito bereitgestellten Standard-E-Mail-Absender. Diese Einstellung für ein niedriges E-Mail-Volumen ist für Anwendungstests ausreichend. Sie können zurückkehren, nachdem Sie eine E-Mail-Adresse mit Amazon Simple Email Service (Amazon SES) bestätigt und E-Mail mit Amazon SES senden ausgewählt haben.

    2. Wählen Sie für SMS die Option Neue IAM-Rolle erstellen aus und geben Sie einen IAM-Rollennamen ein. Dadurch wird eine Rolle erstellt, die Amazon Cognito Berechtigungen zum Senden von SMS-Nachrichten gewährt.

    3. Behalten Sie alle anderen Optionen als Standard bei und wählen Sie Weiter.

  8. Unter Integrieren Sie Ihre App können Sie Ihrem Benutzerpool einen Namen geben, die gehostete Benutzeroberfläche konfigurieren und einen App-Client erstellen. Weitere Informationen finden Sie unter Fügen Sie einen App-Client mit der gehosteten Benutzeroberfläche hinzu. Die Beispielanwendungen verwenden die gehostete Benutzeroberfläche nicht.

    1. Geben Sie unter Benutzerpoolname einen Namen für den Benutzerpool ein.

    2. Wählen Sie nicht Die von Cognito gehostete Benutzeroberfläche verwenden aus.

    3. Vergewissern Sie sich unter Erster App-Client, dass der App-Typ auf Öffentlicher Client eingestellt ist.

    4. Vergewissern Sie sich, dass unter Geheimer Client die Option Keinen geheimen Clientschlüssel generieren ausgewählt ist.

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

    6. Erweitern Sie Erweiterte App-Client-Einstellungen. ALLOW_USER_PASSWORD_AUTHZur Liste der Authentifizierungsabläufe hinzufügen.

    7. Behalten Sie alle anderen Optionen als Standard bei und wählen Sie Weiter.

  9. Überprüfen Sie Ihre Auswahl im Bildschirm Überprüfen und erstellen und ändern Sie alle Auswahlen nach Bedarf. Wenn Sie mit Ihrer Benutzerpool-Konfiguration zufrieden sind, wählen Sie Benutzerpool erstellen, um fortzufahren.

  10. Wählen Sie auf der Seite Benutzerpools Ihren neuen Benutzerpool aus.

  11. Notieren Sie sich unter Benutzerpool-Übersicht Ihre Benutzerpool-ID. Sie geben diese Zeichenfolge an, wenn Sie Ihre Beispielanwendung erstellen.

  12. Wählen Sie die Registerkarte App-Integration und suchen Sie den Abschnitt App-Clients und Analysen. Wählen Sie Ihren neuen App-Client aus. Notieren Sie sich Ihre Kunden-ID.

Erstellen einer Anwendung

Um eine Beispiel-App für Android zu erstellen
  1. Installieren Sie Android Studio und die Befehlszeilentools.

  2. Installieren Sie in Android Studio das Flutter-Plugin.

  3. Erstellen Sie ein neues Android Studio-Projekt aus dem Inhalt des cognito_flutter_mobile_app Verzeichnisses in dieser Beispiel-App.

    1. Bearbeiten assets/config.json und ersetzen Sie <<YOUR USER POOL ID>> und << YOUR CLIENT ID>> durch die IDs des Benutzerpools und App-Clients, die Sie zuvor erstellt haben.

  4. Installieren Sie Flutter.

    1. Fügen Sie Flutter zu Ihrer PATH-Variablen hinzu.

    2. Akzeptieren Sie Lizenzen mit dem folgenden Befehl.

      flutter doctor --android-licenses

    3. Überprüfen Sie Ihre Flutter-Umgebung und installieren Sie alle fehlenden Komponenten.

      flutter doctor

      1. Wenn Komponenten fehlen, starten Sie, flutter doctor -v um zu erfahren, wie Sie das Problem beheben können.

    4. Wechseln Sie in das Verzeichnis Ihres neuen Flutter-Projekts und installieren Sie Abhängigkeiten.

      1. Führen Sie flutter pub add amazon_cognito_identity_dart_2.

    5. Führen Sie flutter pub add flutter_secure_storage.

  5. Erstellen Sie ein virtuelles Android-Gerät.

    1. Erstellen Sie in der Android Studio-GUI ein neues Gerät mit dem Gerätemanager.

    2. Führen Sie in der CLI den Befehl ausflutter emulators --create --name android-device.

  6. Starten Sie Ihr virtuelles Android-Gerät.

    1. Wählen Sie in der Android Studio-GUI das Startsymbol neben Ihrem virtuellen Gerät aus.

    2. Führen Sie in der CLI den Befehl ausflutter emulators --launch android-device.

  7. Starten Sie Ihre App auf Ihrem virtuellen Gerät.

    1. Wählen Sie in der Android Studio-GUI das Bereitstellungssymbol aus.

    2. Führen Sie in der CLI den Befehl ausflutter run.

  8. Navigieren Sie in Android Studio zu Ihrem laufenden virtuellen Gerät.

  9. Registriere einen neuen Benutzer mit einer gültigen E-Mail-Adresse.

  10. Rufen Sie den Bestätigungscode aus Ihrer E-Mail-Nachricht ab. Geben Sie den Bestätigungscode in die Anwendung ein.

  11. Melden Sie sich mit Ihrem Benutzernamen und Passwort an.