Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Mit Benutzerattributen arbeiten

Fokusmodus
Mit Benutzerattributen arbeiten - 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.

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.

Attribute sind Informationen, anhand derer Sie einzelne Benutzer ermitteln können, z. B. Name, E-Mail-Adresse und Telefonnummer. Ein neuer Benutzerpool hat einen Satz standardmäßiger Standardattribute. Sie können Ihrer Benutzerpool-Definition im auch benutzerdefinierte Attribute hinzufügen AWS Management Console. In diesem Thema werden diese Attribute ausführlich beschrieben und Sie erhalten Tipps zum Einrichten des Benutzerpools.

Speichern Sie nicht alle Informationen von Benutzern in Attributen. Speichern Sie beispielsweise Benutzerdaten, die häufig geändert werden (wie Nutzungsstatistiken oder Spielstände) in einem separaten Datenspeicher, z. B. Amazon Cognito Sync oder Amazon DynamoDB.

Bereinigen Sie die Eingaben für Zeichenkettenwerte von Benutzerattributen, bevor Sie sie an Ihren Benutzerpool senden. Eine Methode zur Analyse der vorgeschlagenen Benutzerattributwerte ist ein Lambda-Trigger wie bei der Anmeldung.

Anmerkung

In einigen Dokumentationen und Standards werden Attribute als Member bezeichnet.

Standardattribute

Amazon Cognito weist allen Benutzern basierend auf der OpenID-Connect-Spezifikation eine Reihe von Standardattributen zu. Standard- und benutzerdefinierte Attributwerte können standardmäßig aus einer beliebigen Zeichenfolge von bis zu 2048 Zeichen bestehen. Einige Attributwerte unterliegen jedoch Formatierungseinschränkungen.

Die Standardattribute sind:

  • name

  • family_name

  • given_name

  • middle_name

  • nickname

  • preferred_username

  • profile

  • picture

  • website

  • gender

  • birthdate

  • zoneinfo

  • locale

  • updated_at

  • address

  • email

  • phone_number

  • sub

Mit Ausnahme von sub sind Standardattribute standardmäßig für alle Benutzer optional. Um ein Attribut als erforderlich festzulegen, aktivieren Sie bei der Erstellung des Benutzerpools das Kontrollkästchen Required (Erforderlich) neben dem Attribut. Amazon Cognito weist jedem sub-Benutzerattribut einen eindeutigen Benutzerkennungswert zu. Nur die Attribute email und phone_number können verifiziert werden.

Standardattribute haben vordefinierte Eigenschaften, die Sie im SchemaAttributes Parameter einer DescribeUserPool API-Antwort anzeigen können. Sie können benutzerdefinierte Werte für diese Attributeigenschaften wie Datentyp, Veränderbarkeit und Längenbeschränkungen festlegen. Um Standardattributeigenschaften zu ändern, legen Sie ihre benutzerdefinierten Werte im CreateUserPool Schema-Parameter fest. Im Schema legen Sie auch die erforderlichen Attribute fest. Sie können die Eigenschaften von Standardattributen nicht ändern, wenn Sie Benutzerpools in der Amazon Cognito Cognito-Konsole erstellen.

Anmerkung

Wenn Sie ein Standardattribut als erforderlich markieren, kann ein Benutzer sich erst registrieren, wenn er einen Wert für das Attribut angibt. Um Benutzer zu erstellen und keine Werte für erforderliche Attribute anzugeben, können Administratoren die AdminCreateUserAPI verwenden. Nachdem Sie einen Benutzerpool erstellt haben, können Sie die Markierung eines Attributs als erforderlich und nicht erforderlich nicht mehr ändern.

Details zu Standardattributen und Formateinschränkungen
birthdate

Der Wert muss ein gültiges 10-stelliges Datum im Format sein YYYY-MM-DD.

email

Benutzer und Administratoren können die Werte für E-Mail-Adressen überprüfen.

Ein Administrator mit den entsprechenden AWS-Konto Berechtigungen kann die E-Mail-Adresse des Benutzers ändern und sie auch als verifiziert markieren. Markieren Sie eine E-Mail-Adresse mit der AdminUpdateUserAttributesAPI oder dem Befehl admin-update-user-attributes AWS Command Line Interface (AWS CLI) als verifiziert. Mit diesem Befehl kann der Administrator das email_verified-Attribut in true ändern. Sie können einen Benutzer auch im Benutzermenü der Amazon Cognito Cognito-Konsole bearbeiten, um eine E-Mail-Adresse als verifiziert zu markieren.

Der Wert muss eine gültige E-Mail-Adresszeichenfolge sein, die dem Standard-E-Mail-Format mit dem @-Symbol und der Domäne folgt und bis zu 2048 Zeichen lang sein kann.

phone_number

Ein Benutzer muss eine Telefonnummer angeben, wenn die SMS-Multi-Faktor-Authentifizierung (MFA) aktiv ist. Weitere Informationen finden Sie unter Hinzufügen der MFA zu einem Benutzerpool.

Benutzer und Administratoren können Telefonnummernwerte überprüfen.

Ein Administrator mit den entsprechenden AWS-Konto Berechtigungen kann die Telefonnummer des Benutzers ändern und sie auch als verifiziert markieren. Markieren Sie eine Telefonnummer mit der AdminUpdateUserAttributesAPI oder dem admin-update-user-attributes AWS CLI Befehl als verifiziert. Mit diesem Befehl kann der Administrator das phone_number_verified-Attribut in true ändern. Sie können einen Benutzer auch im Benutzermenü der Amazon Cognito Cognito-Konsole bearbeiten, um eine Telefonnummer als verifiziert zu markieren.

Wichtig

Bei Telefonnummern müssen die folgenden Formatierungsregeln beachtet werden: Eine Telefonnummer muss mit einem Pluszeichen (+) beginnen, auf das direkt der Ländercode folgt. Eine Telefonnummer kann nur das Pluszeichen + und Ziffern enthalten. Entfernen Sie alle anderen Zeichen, z. B. Klammern, Leerzeichen und Bindestriche (-) aus einer Telefonnummer, bevor Sie den Wert an den Service übermitteln. Eine Telefonnummer in den Vereinigten Staaten muss beispielsweise das folgende Format haben: +14325551212.

preferred_username

Sie können preferred_username als erforderlich oder als Alias auswählen, aber nicht beides. Wenn es sich um einen Alias preferred_username handelt, können Sie eine Anfrage an den UpdateUserAttributesAPI-Vorgang stellen und den Attributwert hinzufügen, nachdem Sie den Benutzer bestätigt haben.

sub

Indexieren und durchsuchen Sie Ihre Benutzer basierend auf dem sub-Attribut. Das sub-Attribut ist eine eindeutige Benutzerkennung in jedem Benutzerpool. Benutzer können Attribute wie phone_number und email ändern. Das sub-Attribut hat einen festen Wert. Weitere Informationen zur Suche nach Benutzern finden Sie unter Verwalten von und Suchen nach Benutzerkonten.

Erforderliche Attribute anzeigen

Gehen Sie wie folgt vor, um die erforderlichen Attribute für einen bestimmten Benutzerpool anzuzeigen.

Anmerkung

Sie können erforderliche Attribute nicht mehr ändern, nachdem Sie einen Benutzerpool erstellt haben.

Erforderliche Attribute anzeigen
  1. Gehen Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole 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.

  4. Wählen Sie das Anmelde-Menü.

  5. Zeigen Sie die erforderlichen Attribute Ihres Benutzerpools im Abschnitt Required attributes (Erforderliche Attribute) an.

Benutzernamen und bevorzugter Benutzername

Der Wert username ist ein separates Attribut und nicht mit dem Attribut name identisch. Jeder Benutzer hat ein username-Attribut. Amazon Cognito generiert automatisch einen Benutzernamen für Verbundbenutzer. Sie müssen ein username-Attribut angeben, um einen lokalen Benutzer im Amazon-Cognito-Verzeichnis zu erstellen. Nachdem Sie einen Benutzer erstellt haben, können Sie den Wert des username-Attributs nicht mehr ändern.

Entwickler können das preferred_username-Attribut verwenden, um Benutzern Benutzernamen zuzuteilen, die diese ändern können. Weitere Informationen finden Sie unter Anpassen von Anmeldeattributen.

Wenn für Ihre Anwendung kein Benutzername erforderlich ist, müssen Sie Benutzer nicht zur Angabe eines Benutzernamens auffordern. Ihre App kann im Hintergrund einen eindeutigen Benutzernamen für Benutzer erstellen. Dies kann sich als nützlich erweisen, wenn Sie beispielsweise möchten, dass sich Benutzer mit einer E-Mail-Adresse und einem Passwort registrieren und anmelden. Weitere Informationen finden Sie unter Anpassen von Anmeldeattributen.

Der username muss innerhalb eines Benutzerpools eindeutig sein. Ein username kann wiederverwendet werden, aber erst, nachdem er gelöscht wurde und nicht mehr in Gebrauch ist. Informationen zu den Zeichenkettenbeschränkungen für die username Attribute finden Sie in der Eigenschaft username einer SignUpAPI-Anfrage.

Anpassen von Anmeldeattributen

Beim Erstellen eines Benutzerpools können Sie Benutzernamenattribute einrichten, wenn Sie möchten, dass sich Ihre Benutzer mit einer E-Mail-Adresse oder Telefonnummer als Benutzername registrieren können. Alternativ können Sie Aliasattribute einrichten, um Ihren Benutzern die Wahl zu lassen: Sie können mehrere Attribute angeben, wenn sie sich registrieren, und sich dann mit einem Benutzernamen, einem bevorzugten Benutzernamen, einer E-Mail-Adresse oder einer Telefonnummer anmelden.

Wichtig

Nachdem Sie einen Benutzerpool erstellt haben, können Sie diese Einstellung nicht mehr ändern.

So wählen Sie zwischen Aliasattributen und Benutzernamenattributen

Ihre Anforderung Aliasattribute Benutzernamenattribute
Benutzer haben mehrere Anmeldeattribute Ja¹ Nein²
Benutzer müssen ihre E-Mail-Adresse oder Telefonnummer verifizieren, bevor sie sich damit anmelden können Ja Nein
Melden Sie Benutzer mit doppelten E-Mail-Adressen oder Telefonnummern an und vermeiden Sie UsernameExistsException Fehler³ Ja Nein
Kann denselben Attributwert für E-Mail-Adresse oder Telefonnummer mehreren Benutzern zuweisen Ja⁴ Nein

¹ Verfügbare Anmeldeattribute sind der Benutzername, die E-Mail-Adresse, die Telefonnummer und der bevorzugte Benutzername.

² Es ist eine Anmeldung mit der E-Mail-Adresse oder der Telefonnummer möglich.

³ Ihr Benutzerpool generiert keine UsernameExistsException-Fehler, wenn sich Benutzer mit möglicherweise doppelten E-Mail-Adressen oder Telefonnummern, aber ohne Benutzernamen registrieren. Dieses Verhalten ist unabhängig von der Option Fehler bei vorhandenen Benutzernamen verhindern, die für Anmelde-, aber nicht für Registrierungsvorgänge gilt.

³ Nur der letzte Benutzer, der das Attribut verifiziert hat, kann sich damit anmelden.

Ein Attribut ist ein Alias, wenn Benutzer einen Benutzernamen haben, sich aber auch mit diesem Attribut anmelden können. Richten Sie Aliase ein, wenn Sie Ihren Benutzern ermöglichen möchten, zwischen ihrem Benutzernamen und anderen Attributwerten im Feld Benutzername Ihres Anmeldeformulars zu wählen. Das username Attribut ist ein fester Wert, den Benutzer nicht ändern können. Wenn Sie ein Attribut als Alias markieren, können Benutzer anstelle des Benutzernamens dieses Attribut zur Anmeldung verwenden. Die Attribute E-Mail-Adresse, Telefonnummer und bevorzugter Benutzername können als Aliasnamen markiert werden. Wenn Sie beispielsweise die E-Mail-Adresse und die Telefonnummer als Aliasnamen für einen Benutzerpool auswählen, können sich Benutzer in diesem Benutzerpool mit ihrem Benutzernamen, ihrer E-Mail-Adresse oder ihrer Telefonnummer sowie ihrem Passwort anmelden.

Wählen Sie zum Auswählen von Aliasattributen User name (Benutzername) und mindestens eine zusätzliche Anmeldeoption aus, wenn Sie den Benutzerpool erstellen.

Anmerkung

Wenn Sie Ihren Benutzerpool ohne Berücksichtigung der Groß- und Kleinschreibung konfigurieren, kann ein Benutzer entweder Klein- oder Großbuchstaben verwenden, um sich mit seinem Alias zu registrieren oder anzumelden. Weitere Informationen finden Sie CreateUserPoolin der Amazon Cognito Cognito-API-Referenz für Benutzerpools.

Wenn Sie die E-Mail-Adresse als Alias auswählen, akzeptiert Amazon Cognito keinen Benutzernamen, der mit einem gültigen E-Mail-Adressformat übereinstimmt. Ebenso wenig akzeptiert Amazon Cognito einen Benutzernamen für diesen Benutzerpool, der einem gültigen Telefonnummernformat entspricht, wenn Sie eine Telefonnummer als Alias auswählen.

Anmerkung

Aliaswerte müssen in einem Benutzerpool eindeutig sein. Wenn Sie einen Alias für eine E-Mail-Adresse oder eine Telefonnummer konfigurieren, kann der von Ihnen bereitgestellte Wert nur in einem Konto den bestätigten Status aufweisen. Wenn Ihr Benutzer während der Registrierung eine E-Mail-Adresse oder Telefonnummer als Aliaswert angibt und ein anderer Benutzer diesen Aliaswert bereits verwendet hat, ist die Registrierung erfolgreich. Versucht ein Benutzer allerdings, das Konto mit dieser E-Mail-Adresse (oder Telefonnummer) zu bestätigen, und gibt den gültigen Code ein, gibt Amazon Cognito einen AliasExistsException-Fehler zurück. Der Fehler weist den Benutzer darauf hin, dass bereits ein Konto mit dieser E-Mail-Adresse (oder Telefonnummer) vorhanden ist. An diesem Punkt kann der Benutzer die Erstellung des neuen Kontos abbrechen und stattdessen versuchen, das Passwort für das alte Konto zurückzusetzen. Wenn der Benutzer mit der Erstellung des neuen Kontos fortfährt, muss Ihre App die ConfirmSignUp-API mit der Option forceAliasCreation aufrufen. ConfirmSignUp mit forceAliasCreation verschiebt den Alias vom vorherigen Konto in das neu erstellte Konto und markiert das Attribut im vorherigen Konto als nicht verifiziert.

Telefonnummern und E-Mail-Adressen werden für einen Benutzer erst zu aktiven Aliasnamen, nachdem Ihr Benutzer die Telefonnummern und E-Mail-Adressen verifiziert hat. Wir empfehlen, die automatische Verifizierung von E-Mail-Adressen und Telefonnummern zu aktivieren, wenn Sie diese als Aliasnamen verwenden.

Wählen Sie Aliasattribute, um den Fehler UsernameExistsException bei den Attributen für E-Mail-Adressen und Telefonnummern zu vermeiden, wenn sich Ihre Benutzer anmelden.

Aktivieren Sie das preferred_username-Attribut, damit Ihr Benutzer den Benutzernamen ändern kann, mit dem er sich anmeldet, während sich der username-Attributwert nicht ändert. Wenn Sie diese Benutzererfahrung unterstützen möchten, senden Sie den neuen username-Wert als preferred_username und wählen preferred_username als Alias aus. Anschließend können sich Benutzer mit dem neuen Wert anmelden, den sie eingegeben haben. Wenn preferred_username als Alias ausgewählt ist, kann Ihr Benutzer den Wert nur dann bereitstellen, wenn er ein Konto bestätigt. Er kann den Wert nicht während der Registrierung bereitstellen.

Wenn sich der Benutzer mit einem Benutzernamen anmeldet, können Sie auswählen, ob er sich mit einem oder mehreren der folgenden Aliasnamen anmelden kann.

  • Verifizierte E-Mail-Adresse

  • Verifizierte Telefonnummer

  • Bevorzugter Benutzername

Nachdem sich der Benutzer registriert hat, kann er diese Aliasnamen ändern.

Wichtig

Wenn Ihr Benutzerpool die Anmeldung mit Aliasen unterstützt und Sie einen Benutzer autorisieren oder suchen möchten, identifizieren Sie Ihren Benutzer nicht anhand seiner Anmeldeattribute. Die Benutzerkennung sub mit festem Wert ist der einzige konsistente Bezeichner für die Identität des Benutzers.

Fügen Sie die folgenden Schritte ein, wenn Sie den Benutzerpool erstellen, damit sich Benutzer mit einem Alias anmelden können.

Phone number or email address (console)

Sie müssen E-Mail-Adresse und Telefonnummer als Alias-Attribute festlegen, wenn Sie einen Benutzerpool erstellen.

So erstellen Sie einen Benutzerpool mit Benutzernamen-Aliasnamen in der Amazon Cognito Cognito-Konsole
  1. Wechseln Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre Anmeldeinformationen ein. AWS

  2. Erstellen Sie mit den Schaltflächen Erste Schritte oder Benutzerpool erstellen einen neuen Benutzerpool.

  3. Wählen Sie unter Anwendung definieren die Anwendungseinstellungen aus.

  4. Aktivieren Sie unter Optionen für Anmeldekennungen konfigurieren das Kontrollkästchen neben Benutzername und mindestens eine der anderen Optionen, E-Mail und Telefonnummer.

  5. Wählen Sie Ihre Alias-Attribute als Erforderliche Attribute für die Registrierung aus. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben.

  6. Richten Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet werden soll.

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

Phone number or email address (API/SDK)

Erstellen Sie mit dem CreateUserPoolAPI-Vorgang einen neuen Benutzerpool. Konfigurieren Sie den AliasAttributes Parameter wie gezeigt. Sie können den email Eintrag entfernen, wenn Sie nur Telefonnummern-Aliase verwenden möchten, oder den phone_number Eintrag entfernen, wenn Sie nur E-Mail-Adress-Aliase verwenden möchten.

"AliasAttributes": [ "email", "phone_number" ],
Preferred username (API/SDK)

Die Amazon Cognito Cognito-Konsole erstellt Benutzerpools ohne preferred_username Alias. Um Benutzerpools mit einem preferred_username Alias zu erstellen, richten Sie Benutzerpools mit CreateUserPoolAPI-Anfragen in einem AWS SDK ein. Um die Erstellung von bevorzugten Benutzernamenattributen bei der Registrierung zu unterstützen, legen Sie diese preferred_username als erforderliches Attribut fest. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Sie können es in der Amazon Cognito Cognito-Konsole preferred_username als erforderliches Attribut festlegen, aber dadurch ist es nicht als Alias verfügbar.

Als Alias konfigurieren

preferred_usernameAls Alias im AliasAttributes Parameter einer CreateUserPool Anfrage konfigurieren, wie in der Abbildung gezeigt. Entfernen Sie alle Werte, die Sie nicht als Alias-Attribute verwenden möchten, aus der Liste.

"AliasAttributes": [ "email", "phone_number", "preferred_username" ],
Konfigurieren Sie nach Bedarf

Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Konfigurieren Sie preferred_username die Konfiguration nach Bedarf im SchemaAttributes Parameter einer Anfrage. CreateUserPool

Um den bevorzugten Benutzernamen als erforderliches Attribut festzulegen, konfigurieren Sie ihn wie gezeigt. Im folgenden Beispiel wird das Standardschema von so geändertpreferred_username, dass es wie erforderlich festgelegt wird. Andere Schemaparameter wie AttributeDataType (standardmäßigstring) und StringAttributeConstraints (standardmäßig 1—99 Zeichen lang) gehen von Standardwerten aus.

"Schema": [ { "Name": "preferred_username", "Required": true } ]

Ein Attribut ist ein Alias, wenn Benutzer einen Benutzernamen haben, sich aber auch mit diesem Attribut anmelden können. Richten Sie Aliase ein, wenn Sie Ihren Benutzern ermöglichen möchten, zwischen ihrem Benutzernamen und anderen Attributwerten im Feld Benutzername Ihres Anmeldeformulars zu wählen. Das username Attribut ist ein fester Wert, den Benutzer nicht ändern können. Wenn Sie ein Attribut als Alias markieren, können Benutzer anstelle des Benutzernamens dieses Attribut zur Anmeldung verwenden. Die Attribute E-Mail-Adresse, Telefonnummer und bevorzugter Benutzername können als Aliasnamen markiert werden. Wenn Sie beispielsweise die E-Mail-Adresse und die Telefonnummer als Aliasnamen für einen Benutzerpool auswählen, können sich Benutzer in diesem Benutzerpool mit ihrem Benutzernamen, ihrer E-Mail-Adresse oder ihrer Telefonnummer sowie ihrem Passwort anmelden.

Wählen Sie zum Auswählen von Aliasattributen User name (Benutzername) und mindestens eine zusätzliche Anmeldeoption aus, wenn Sie den Benutzerpool erstellen.

Anmerkung

Wenn Sie Ihren Benutzerpool ohne Berücksichtigung der Groß- und Kleinschreibung konfigurieren, kann ein Benutzer entweder Klein- oder Großbuchstaben verwenden, um sich mit seinem Alias zu registrieren oder anzumelden. Weitere Informationen finden Sie CreateUserPoolin der Amazon Cognito Cognito-API-Referenz für Benutzerpools.

Wenn Sie die E-Mail-Adresse als Alias auswählen, akzeptiert Amazon Cognito keinen Benutzernamen, der mit einem gültigen E-Mail-Adressformat übereinstimmt. Ebenso wenig akzeptiert Amazon Cognito einen Benutzernamen für diesen Benutzerpool, der einem gültigen Telefonnummernformat entspricht, wenn Sie eine Telefonnummer als Alias auswählen.

Anmerkung

Aliaswerte müssen in einem Benutzerpool eindeutig sein. Wenn Sie einen Alias für eine E-Mail-Adresse oder eine Telefonnummer konfigurieren, kann der von Ihnen bereitgestellte Wert nur in einem Konto den bestätigten Status aufweisen. Wenn Ihr Benutzer während der Registrierung eine E-Mail-Adresse oder Telefonnummer als Aliaswert angibt und ein anderer Benutzer diesen Aliaswert bereits verwendet hat, ist die Registrierung erfolgreich. Versucht ein Benutzer allerdings, das Konto mit dieser E-Mail-Adresse (oder Telefonnummer) zu bestätigen, und gibt den gültigen Code ein, gibt Amazon Cognito einen AliasExistsException-Fehler zurück. Der Fehler weist den Benutzer darauf hin, dass bereits ein Konto mit dieser E-Mail-Adresse (oder Telefonnummer) vorhanden ist. An diesem Punkt kann der Benutzer die Erstellung des neuen Kontos abbrechen und stattdessen versuchen, das Passwort für das alte Konto zurückzusetzen. Wenn der Benutzer mit der Erstellung des neuen Kontos fortfährt, muss Ihre App die ConfirmSignUp-API mit der Option forceAliasCreation aufrufen. ConfirmSignUp mit forceAliasCreation verschiebt den Alias vom vorherigen Konto in das neu erstellte Konto und markiert das Attribut im vorherigen Konto als nicht verifiziert.

Telefonnummern und E-Mail-Adressen werden für einen Benutzer erst zu aktiven Aliasnamen, nachdem Ihr Benutzer die Telefonnummern und E-Mail-Adressen verifiziert hat. Wir empfehlen, die automatische Verifizierung von E-Mail-Adressen und Telefonnummern zu aktivieren, wenn Sie diese als Aliasnamen verwenden.

Wählen Sie Aliasattribute, um den Fehler UsernameExistsException bei den Attributen für E-Mail-Adressen und Telefonnummern zu vermeiden, wenn sich Ihre Benutzer anmelden.

Aktivieren Sie das preferred_username-Attribut, damit Ihr Benutzer den Benutzernamen ändern kann, mit dem er sich anmeldet, während sich der username-Attributwert nicht ändert. Wenn Sie diese Benutzererfahrung unterstützen möchten, senden Sie den neuen username-Wert als preferred_username und wählen preferred_username als Alias aus. Anschließend können sich Benutzer mit dem neuen Wert anmelden, den sie eingegeben haben. Wenn preferred_username als Alias ausgewählt ist, kann Ihr Benutzer den Wert nur dann bereitstellen, wenn er ein Konto bestätigt. Er kann den Wert nicht während der Registrierung bereitstellen.

Wenn sich der Benutzer mit einem Benutzernamen anmeldet, können Sie auswählen, ob er sich mit einem oder mehreren der folgenden Aliasnamen anmelden kann.

  • Verifizierte E-Mail-Adresse

  • Verifizierte Telefonnummer

  • Bevorzugter Benutzername

Nachdem sich der Benutzer registriert hat, kann er diese Aliasnamen ändern.

Wichtig

Wenn Ihr Benutzerpool die Anmeldung mit Aliasen unterstützt und Sie einen Benutzer autorisieren oder suchen möchten, identifizieren Sie Ihren Benutzer nicht anhand seiner Anmeldeattribute. Die Benutzerkennung sub mit festem Wert ist der einzige konsistente Bezeichner für die Identität des Benutzers.

Fügen Sie die folgenden Schritte ein, wenn Sie den Benutzerpool erstellen, damit sich Benutzer mit einem Alias anmelden können.

Phone number or email address (console)

Sie müssen E-Mail-Adresse und Telefonnummer als Alias-Attribute festlegen, wenn Sie einen Benutzerpool erstellen.

So erstellen Sie einen Benutzerpool mit Benutzernamen-Aliasnamen in der Amazon Cognito Cognito-Konsole
  1. Wechseln Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre Anmeldeinformationen ein. AWS

  2. Erstellen Sie mit den Schaltflächen Erste Schritte oder Benutzerpool erstellen einen neuen Benutzerpool.

  3. Wählen Sie unter Anwendung definieren die Anwendungseinstellungen aus.

  4. Aktivieren Sie unter Optionen für Anmeldekennungen konfigurieren das Kontrollkästchen neben Benutzername und mindestens eine der anderen Optionen, E-Mail und Telefonnummer.

  5. Wählen Sie Ihre Alias-Attribute als Erforderliche Attribute für die Registrierung aus. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben.

  6. Richten Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet werden soll.

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

Phone number or email address (API/SDK)

Erstellen Sie mit dem CreateUserPoolAPI-Vorgang einen neuen Benutzerpool. Konfigurieren Sie den AliasAttributes Parameter wie gezeigt. Sie können den email Eintrag entfernen, wenn Sie nur Telefonnummern-Aliase verwenden möchten, oder den phone_number Eintrag entfernen, wenn Sie nur E-Mail-Adress-Aliase verwenden möchten.

"AliasAttributes": [ "email", "phone_number" ],
Preferred username (API/SDK)

Die Amazon Cognito Cognito-Konsole erstellt Benutzerpools ohne preferred_username Alias. Um Benutzerpools mit einem preferred_username Alias zu erstellen, richten Sie Benutzerpools mit CreateUserPoolAPI-Anfragen in einem AWS SDK ein. Um die Erstellung von bevorzugten Benutzernamenattributen bei der Registrierung zu unterstützen, legen Sie diese preferred_username als erforderliches Attribut fest. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Sie können es in der Amazon Cognito Cognito-Konsole preferred_username als erforderliches Attribut festlegen, aber dadurch ist es nicht als Alias verfügbar.

Als Alias konfigurieren

preferred_usernameAls Alias im AliasAttributes Parameter einer CreateUserPool Anfrage konfigurieren, wie in der Abbildung gezeigt. Entfernen Sie alle Werte, die Sie nicht als Alias-Attribute verwenden möchten, aus der Liste.

"AliasAttributes": [ "email", "phone_number", "preferred_username" ],
Konfigurieren Sie nach Bedarf

Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Konfigurieren Sie preferred_username die Konfiguration nach Bedarf im SchemaAttributes Parameter einer Anfrage. CreateUserPool

Um den bevorzugten Benutzernamen als erforderliches Attribut festzulegen, konfigurieren Sie ihn wie gezeigt. Im folgenden Beispiel wird das Standardschema von so geändertpreferred_username, dass es wie erforderlich festgelegt wird. Andere Schemaparameter wie AttributeDataType (standardmäßigstring) und StringAttributeConstraints (standardmäßig 1—99 Zeichen lang) gehen von Standardwerten aus.

"Schema": [ { "Name": "preferred_username", "Required": true } ]

Sie müssen E-Mail-Adresse und Telefonnummer als Alias-Attribute festlegen, wenn Sie einen Benutzerpool erstellen.

So erstellen Sie einen Benutzerpool mit Benutzernamen-Aliasnamen in der Amazon Cognito Cognito-Konsole
  1. Wechseln Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre Anmeldeinformationen ein. AWS

  2. Erstellen Sie mit den Schaltflächen Erste Schritte oder Benutzerpool erstellen einen neuen Benutzerpool.

  3. Wählen Sie unter Anwendung definieren die Anwendungseinstellungen aus.

  4. Aktivieren Sie unter Optionen für Anmeldekennungen konfigurieren das Kontrollkästchen neben Benutzername und mindestens eine der anderen Optionen, E-Mail und Telefonnummer.

  5. Wählen Sie Ihre Alias-Attribute als Erforderliche Attribute für die Registrierung aus. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben.

  6. Richten Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet werden soll.

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

Wenn sich der Benutzer mit einer E-Mail-Adresse oder Telefonnummer als Benutzername registriert, können Sie auswählen, ob er sich nur mit E-Mail-Adressen, nur mit Telefonnummern oder mit beidem registrieren kann.

Um Benutzernamenattribute auszuwählen, wählen Sie bei der Erstellung Ihres Benutzerpools nicht Benutzername als Anmeldeoption aus.

Die E-Mail-Adresse oder Telefonnummer muss eindeutig sein und darf nicht bereits von einem anderen Benutzer verwendet werden. Sie muss nicht bestätigt sein. Nachdem sich der Benutzer mit einer E-Mail-Adresse oder Telefonnummer registriert hat, kann der Benutzer mit dieser E-Mail-Adresse oder Telefonnummer kein neues Konto erstellen. Der Benutzer kann das vorhandene Konto nur wiederverwenden und das Kontopasswort bei Bedarf zurücksetzen. Der Benutzer kann jedoch die E-Mail-Adresse oder Telefonnummer in eine neue E-Mail-Adresse oder Telefonnummer ändern. Wenn die E-Mail-Adresse oder Telefonnummer noch nicht in Gebrauch ist, wird sie zum neuen Benutzernamen.

Wenn Sie sowohl E-Mail-Adresse als auch Telefonnummer als Benutzernamenattribute auswählen, können sich Benutzer mit dem einen oder anderen anmelden, auch wenn sie Werte für beide Attribute angeben. Der Benutzername für die Anmeldung basiert auf dem Wert, den Sie im Username Parameter von SignUpübergeben.

Anmerkung

Wenn sich ein Benutzer mit einer E-Mail-Adresse als Benutzername registriert, kann er den Benutzernamen zu einer anderen E-Mail-Adresse ändern, jedoch nicht zu einer Telefonnummer. Wenn sich Benutzer mit einer Telefonnummer registrieren, können sie den Benutzernamen zu einer anderen Telefonnummer ändern, jedoch nicht zu einer E-Mail-Adresse.

Führen Sie während der Erstellung des Benutzerpools die folgenden Schritte aus, um eine Registrierung und Anmeldung mit einer E-Mail-Adresse oder Telefonnummer einzurichten.

Username attributes (console)

Mit dem folgenden Verfahren wird ein Benutzerpool mit den Attributen E-Mail-Adresse oder Telefonnummer erstellt. Der Unterschied beim Verfahren für Benutzernamenattribute in der Amazon Cognito Cognito-Konsole besteht darin, dass Sie den Benutzernamen nicht auch als Anmeldeattribut festlegen.

So erstellen Sie einen Benutzerpool mit Benutzernamenattributen in der Amazon Cognito Cognito-Konsole
  1. Wechseln Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein.

  2. Erstellen Sie mit den Schaltflächen Erste Schritte oder Benutzerpool erstellen einen neuen Benutzerpool.

  3. Wählen Sie unter Anwendung definieren die Anwendungseinstellungen aus.

  4. Wählen Sie unter Optionen für Anmeldekennungen konfigurieren unter Optionen für Anmeldekennungen Ihre Benutzernamenattribute aus: E-Mail, Telefonnummer oder beides. Lassen Sie „Benutzername“ deaktiviert.

  5. Es empfiehlt sich, Ihre Benutzernamenattribute als Erforderliche Attribute für die Registrierung auszuwählen. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Wenn Sie Ihre Benutzernamenattribute nicht wie erforderlich festlegen, fordert Amazon Cognito neue Benutzer nicht auf, Werte für sie anzugeben. In diesem Szenario müssen Sie Ihre Anwendung so konfigurieren, dass E-Mail-Adressen oder Telefonnummern für jeden Benutzer erfasst und übermittelt werden, bevor dieser sich anmelden kann.

  6. Richten Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet wird.

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

Username attributes (API/SDK)

Konfigurieren Sie den UsernameAttributes Parameter in einer CreateUserPoolAnfrage wie gezeigt. Um die Anmeldung nur mit Benutzernamen mit E-Mail-Adresse zu ermöglichen, geben Sie in dieser Liste die Option „emailAllein“ an. Um die Anmeldung nur mit Nutzernamen mit Telefonnummer zu ermöglichen, geben Sie „Nur“ an. phone_number Dieser Parameter hat Vorrang vor dem Benutzernamen als Anmeldeoption.

"UsernameAttributes": [ "email", "phone_number" ],

Wenn Sie Benutzernamenattribute konfigurieren, können Sie SignUpAPI-Anfragen stellen, die eine E-Mail-Adresse oder Telefonnummer im username Parameter übergeben. Im Folgenden wird das Verhalten der SignUp Code-API-Operation mit Benutzernamenattributen beschrieben.

  • Wenn die username Zeichenfolge beispielsweise ein gültiges E-Mail-Adressformat hatuser@example.com, füllt der Benutzerpool das email Attribut des Benutzers automatisch mit dem username Wert aus.

  • Wenn die username Zeichenfolge beispielsweise ein gültiges Telefonnummernformat hat+12065551212, füllt der Benutzerpool das phone_number Attribut des Benutzers automatisch mit dem username Wert aus.

  • Wenn die username-Zeichenfolge kein gültiges E-Mail-Adress- oder Telefonnummernformat besitzt, gibt die SignUp-API eine Ausnahme zurück.

  • Wenn die Zeichenfolge username eine E-Mail-Adresse oder Telefonnummer enthält, die bereits verwendet wird, gibt die SignUp-API eine Ausnahme zurück.

  • Die SignUp API füllt das username Attribut mit einer UUID für Ihren Benutzer. Diese UUID hat den gleichen Wert wie der sub-Anspruch im Token für die Benutzeridentität.

Sie können eine E-Mail-Adresse oder Telefonnummer anstelle des Benutzernamens in allen APIs Fällen verwenden, mit Ausnahme des Vorgangs. ListUsers In ListUsers API-Anfragen können Sie einen Wert Filter von email oder angebenphone_number. Wenn Sie nach filternusername, müssen Sie den UUID-Benutzernamen angeben, nicht die E-Mail-Adresse oder Telefonnummer.

Wenn sich der Benutzer mit einer E-Mail-Adresse oder Telefonnummer als Benutzername registriert, können Sie auswählen, ob er sich nur mit E-Mail-Adressen, nur mit Telefonnummern oder mit beidem registrieren kann.

Um Benutzernamenattribute auszuwählen, wählen Sie bei der Erstellung Ihres Benutzerpools nicht Benutzername als Anmeldeoption aus.

Die E-Mail-Adresse oder Telefonnummer muss eindeutig sein und darf nicht bereits von einem anderen Benutzer verwendet werden. Sie muss nicht bestätigt sein. Nachdem sich der Benutzer mit einer E-Mail-Adresse oder Telefonnummer registriert hat, kann der Benutzer mit dieser E-Mail-Adresse oder Telefonnummer kein neues Konto erstellen. Der Benutzer kann das vorhandene Konto nur wiederverwenden und das Kontopasswort bei Bedarf zurücksetzen. Der Benutzer kann jedoch die E-Mail-Adresse oder Telefonnummer in eine neue E-Mail-Adresse oder Telefonnummer ändern. Wenn die E-Mail-Adresse oder Telefonnummer noch nicht in Gebrauch ist, wird sie zum neuen Benutzernamen.

Wenn Sie sowohl E-Mail-Adresse als auch Telefonnummer als Benutzernamenattribute auswählen, können sich Benutzer mit dem einen oder anderen anmelden, auch wenn sie Werte für beide Attribute angeben. Der Benutzername für die Anmeldung basiert auf dem Wert, den Sie im Username Parameter von SignUpübergeben.

Anmerkung

Wenn sich ein Benutzer mit einer E-Mail-Adresse als Benutzername registriert, kann er den Benutzernamen zu einer anderen E-Mail-Adresse ändern, jedoch nicht zu einer Telefonnummer. Wenn sich Benutzer mit einer Telefonnummer registrieren, können sie den Benutzernamen zu einer anderen Telefonnummer ändern, jedoch nicht zu einer E-Mail-Adresse.

Führen Sie während der Erstellung des Benutzerpools die folgenden Schritte aus, um eine Registrierung und Anmeldung mit einer E-Mail-Adresse oder Telefonnummer einzurichten.

Username attributes (console)

Mit dem folgenden Verfahren wird ein Benutzerpool mit den Attributen E-Mail-Adresse oder Telefonnummer erstellt. Der Unterschied beim Verfahren für Benutzernamenattribute in der Amazon Cognito Cognito-Konsole besteht darin, dass Sie den Benutzernamen nicht auch als Anmeldeattribut festlegen.

So erstellen Sie einen Benutzerpool mit Benutzernamenattributen in der Amazon Cognito Cognito-Konsole
  1. Wechseln Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein.

  2. Erstellen Sie mit den Schaltflächen Erste Schritte oder Benutzerpool erstellen einen neuen Benutzerpool.

  3. Wählen Sie unter Anwendung definieren die Anwendungseinstellungen aus.

  4. Wählen Sie unter Optionen für Anmeldekennungen konfigurieren unter Optionen für Anmeldekennungen Ihre Benutzernamenattribute aus: E-Mail, Telefonnummer oder beides. Lassen Sie „Benutzername“ deaktiviert.

  5. Es empfiehlt sich, Ihre Benutzernamenattribute als Erforderliche Attribute für die Registrierung auszuwählen. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Wenn Sie Ihre Benutzernamenattribute nicht wie erforderlich festlegen, fordert Amazon Cognito neue Benutzer nicht auf, Werte für sie anzugeben. In diesem Szenario müssen Sie Ihre Anwendung so konfigurieren, dass E-Mail-Adressen oder Telefonnummern für jeden Benutzer erfasst und übermittelt werden, bevor dieser sich anmelden kann.

  6. Richten Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet wird.

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

Username attributes (API/SDK)

Konfigurieren Sie den UsernameAttributes Parameter in einer CreateUserPoolAnfrage wie gezeigt. Um die Anmeldung nur mit Benutzernamen mit E-Mail-Adresse zu ermöglichen, geben Sie in dieser Liste die Option „emailAllein“ an. Um die Anmeldung nur mit Nutzernamen mit Telefonnummer zu ermöglichen, geben Sie „Nur“ an. phone_number Dieser Parameter hat Vorrang vor dem Benutzernamen als Anmeldeoption.

"UsernameAttributes": [ "email", "phone_number" ],

Mit dem folgenden Verfahren wird ein Benutzerpool mit den Attributen E-Mail-Adresse oder Telefonnummer erstellt. Der Unterschied beim Verfahren für Benutzernamenattribute in der Amazon Cognito Cognito-Konsole besteht darin, dass Sie den Benutzernamen nicht auch als Anmeldeattribut festlegen.

So erstellen Sie einen Benutzerpool mit Benutzernamenattributen in der Amazon Cognito Cognito-Konsole
  1. Wechseln Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein.

  2. Erstellen Sie mit den Schaltflächen Erste Schritte oder Benutzerpool erstellen einen neuen Benutzerpool.

  3. Wählen Sie unter Anwendung definieren die Anwendungseinstellungen aus.

  4. Wählen Sie unter Optionen für Anmeldekennungen konfigurieren unter Optionen für Anmeldekennungen Ihre Benutzernamenattribute aus: E-Mail, Telefonnummer oder beides. Lassen Sie „Benutzername“ deaktiviert.

  5. Es empfiehlt sich, Ihre Benutzernamenattribute als Erforderliche Attribute für die Registrierung auszuwählen. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Wenn Sie Ihre Benutzernamenattribute nicht wie erforderlich festlegen, fordert Amazon Cognito neue Benutzer nicht auf, Werte für sie anzugeben. In diesem Szenario müssen Sie Ihre Anwendung so konfigurieren, dass E-Mail-Adressen oder Telefonnummern für jeden Benutzer erfasst und übermittelt werden, bevor dieser sich anmelden kann.

  6. Richten Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet wird.

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

Wenn Sie Benutzernamenattribute konfigurieren, können Sie SignUpAPI-Anfragen stellen, die eine E-Mail-Adresse oder Telefonnummer im username Parameter übergeben. Im Folgenden wird das Verhalten der SignUp Code-API-Operation mit Benutzernamenattributen beschrieben.

  • Wenn die username Zeichenfolge beispielsweise ein gültiges E-Mail-Adressformat hatuser@example.com, füllt der Benutzerpool das email Attribut des Benutzers automatisch mit dem username Wert aus.

  • Wenn die username Zeichenfolge beispielsweise ein gültiges Telefonnummernformat hat+12065551212, füllt der Benutzerpool das phone_number Attribut des Benutzers automatisch mit dem username Wert aus.

  • Wenn die username-Zeichenfolge kein gültiges E-Mail-Adress- oder Telefonnummernformat besitzt, gibt die SignUp-API eine Ausnahme zurück.

  • Wenn die Zeichenfolge username eine E-Mail-Adresse oder Telefonnummer enthält, die bereits verwendet wird, gibt die SignUp-API eine Ausnahme zurück.

  • Die SignUp API füllt das username Attribut mit einer UUID für Ihren Benutzer. Diese UUID hat den gleichen Wert wie der sub-Anspruch im Token für die Benutzeridentität.

Sie können eine E-Mail-Adresse oder Telefonnummer anstelle des Benutzernamens in allen APIs Fällen verwenden, mit Ausnahme des Vorgangs. ListUsers In ListUsers API-Anfragen können Sie einen Wert Filter von email oder angebenphone_number. Wenn Sie nach filternusername, müssen Sie den UUID-Benutzernamen angeben, nicht die E-Mail-Adresse oder Telefonnummer.

Custom attributes (Benutzerdefinierte Attribute)

Sie können Ihrem Benutzerpool bis zu 50 benutzerdefinierte Attribute hinzufügen. Für die benutzerdefinierten Attribute können Sie eine Mindest- und/oder Höchstlänge festlegen. Die maximale Länge eines benutzerdefinierten Attributs darf jedoch nicht mehr als 2048 Zeichen betragen. Der Name eines benutzerdefinierten Attributs muss dem Muster für reguläre Ausdrücke entsprechen, das im Name Parameter von beschrieben ist. SchemaAttributeType

Jedes benutzerdefinierte Attribut hat die folgenden Eigenschaften:
  • Sie können es als String oder Zahl definieren. Amazon Cognito schreibt benutzerdefinierte Attributwerte nur als Strings in das ID-Token.

  • Sie können nicht verlangen, dass Benutzer einen Wert für das Attribut angeben.

  • Sie können es nicht mehr entfernen oder ändern, nachdem Sie es dem Benutzerpool hinzugefügt haben.

  • Die Zeichenlänge des Attributnamens liegt innerhalb des Grenzwerts, den Amazon Cognito akzeptiert. Weitere Informationen finden Sie unter Kontingente in Amazon Cognito.

  • Es kann veränderlich oder unveränderlich sein. Sie können einen Wert nur in ein unveränderliches benutzerdefiniertes Attribut schreiben, wenn Sie einen Benutzer erstellen. Sie können den Wert eines veränderlichen Attributs ändern, wenn Ihr App-Client über Schreibberechtigung für das Attribut verfügt. Weitere Informationen finden Sie unter Attributberechtigungen und -bereiche.

Anmerkung

Im Code und in den Regeleinstellungen für Verwenden der rollenbasierten Zugriffskontrolle ist für benutzerdefinierte Attribute zur Unterscheidung von Standardattributen das Präfix custom: erforderlich.

Sie können auch Entwicklerattribute hinzufügen, wenn Sie Benutzerpools erstellen, und zwar in der SchemaAttributes Eigenschaft von CreateUserPool. Entwicklerattribute verfügen über ein dev:-Präfix. Sie können die Entwicklerattribute eines Benutzers nur mit AWS Anmeldeinformationen ändern. Entwicklerattribute sind eine veraltete Funktion, die Amazon Cognito durch Lese- und Schreibberechtigungen für App-Clients ersetzt hat.

Führen Sie die folgenden Schritte aus, um ein neues benutzerdefiniertes Attribut zu erstellen.

Ein benutzerdefiniertes Attribut mithilfe der Konsole hinzufügen
  1. Gehen Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole 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.

  4. Wählen Sie das Anmeldemenü und wählen Sie im Abschnitt Benutzerdefinierte Attribute die Option Benutzerdefinierte Attribute hinzufügen aus.

  5. Geben Sie auf der Seite Add custom attributes (Benutzerdefinierte Attribute hinzufügen) die folgenden Details zu neuen Attributen ein:

    • Geben Sie einen Name (Namen) ein.

    • Wählen Sie als Type (Typ) entweder String (Zeichenfolge) oder Number (Zahl) aus.

    • Geben Sie eine/n Min (minimal) Zeichenfolgelänge oder -Zahlenwert ein.

    • Geben Sie eine/n Max (maximal) Zeichenfolgelänge oder -Zahlenwert ein.

    • Wählen Sie Mutable (Veränderlich) aus, wenn Sie Benutzern die Berechtigung erteilen möchten, den Wert eines benutzerdefinierten Attributs zu ändern, nachdem sie den Anfangswert festgelegt haben.

  6. Wählen Sie Änderungen speichern.

Attributberechtigungen und -bereiche

Für jeden App-Client können Sie Lese- und Schreibberechtigungen für jedes Benutzerattribut festlegen. Auf diese Weise können Sie den Zugriff steuern, den jede App benötigt, um jedes Attribut zu lesen und zu ändern, das Sie für Ihre Benutzer speichern. Beispiel: Sie haben ein benutzerdefiniertes Attribut, das angibt, ob ein Benutzer zahlender Kunde ist oder nicht. Ihre Apps können dieses Attribut möglicherweise sehen, es aber nicht direkt ändern. Stattdessen aktualisieren Sie dieses Attribut mit einem Verwaltungstool oder einem Hintergrundprozess. Sie können Berechtigungen für Benutzerattribute über die Amazon-Cognito-Konsole, die Amazon-Cognito-API oder die AWS CLI festlegen. Standardmäßig werden alle neuen benutzerdefinierten Attribute erst verfügbar, wenn Sie Lese- und Schreibberechtigungen dafür einrichten. Wenn Sie einen neuen App-Client erstellen, gewähren Sie Ihrer App standardmäßig Lese- und Schreibberechtigungen für alle Standard- und benutzerdefinierten Attribute. Wenn Sie Ihre App nur auf die Menge an Informationen beschränken möchten, die sie benötigt, weisen Sie Attributen in Ihrer App-Client-Konfiguration bestimmte Berechtigungen zu.

Es hat sich bewährt, Lese- und Schreibberechtigungen für Attribute anzugeben, wenn Sie einen App-Client erstellen. Gewähren Sie Ihrem App-Client Zugriff auf die Mindestanzahl an Benutzerattributen, die Sie für den Betrieb Ihrer Anwendung benötigen.

Anmerkung

DescribeUserPoolClientgibt nur Werte für ReadAttributes und zurückWriteAttributes, wenn Sie andere App-Client-Berechtigungen als die Standardberechtigungen konfigurieren.

So aktualisieren Sie Attributberechtigungen (AWS Management Console)
  1. Gehen Sie zu Amazon Cognito in der AWS Management Console. Wenn Sie von der Konsole 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.

  4. Wählen Sie das Menü App-Clients und wählen Sie einen App-Client aus der Liste aus.

  5. Wählen Sie auf der Registerkarte Attributberechtigungen die Option Bearbeiten aus.

  6. Konfigurieren Sie auf der Seite Edit attribute read and write permissions (Lese- und Schreibberechtigungen für Attribute bearbeiten) Ihre Lese- und Schreibberechtigungen und wählen Sie anschließend Save changes (Änderungen speichern) aus.

Wiederholen Sie diese Schritte für jeden App-Client, der das benutzerdefinierte Attribut verwendet.

Für jeden App-Client können Sie Attribute als lesbar oder schreibbar markieren. Dies gilt sowohl für Standard- als auch für benutzerdefinierte Attribute. Ihre App kann den Wert von Attributen abrufen, die Sie als lesbar markieren, und den Wert von Attributen festlegen oder ändern, die Sie als schreibbar markieren. Wenn Ihre App versucht, einen Wert für ein Attribut festzulegen, für das sie nicht autorisiert ist, kehrt Amazon Cognito zurückNotAuthorizedException. GetUserAnfragen enthalten ein Zugriffstoken mit einem App-Client-Anspruch; Amazon Cognito gibt nur Werte für Attribute zurück, die Ihr App-Client lesen kann. Das ID-Token Ihres Benutzers aus einer App enthält nur Ansprüche, die den lesbaren Attributen entsprechen. Alle App-Clients können für den Benutzerpool erforderliche Attribute schreiben. Sie können den Wert eines Attributs in einer API-Anforderung für Amazon-Cognito-Benutzerpools nur festlegen, wenn Sie auch einen Wert für alle erforderlichen Attribute angeben, die noch keinen Wert haben.

Benutzerdefinierte Attribute verfügen über unterschiedliche Funktionen für Lese- und Schreibberechtigungen. Sie können sie für den Benutzerpool als veränderbar oder unveränderlich erstellen und sie für jeden App-Client einzeln als Lese- oder Schreibattribute festlegen.

Ein unveränderliches benutzerdefiniertes Attribut kann einmal während der Benutzererstellung aktualisiert werden. Sie können ein unveränderliches Attribut mit den folgenden Methoden auffüllen.

  • SignUp: Ein Benutzer meldet sich mit einem App-Client an, der Schreibzugriff auf ein unveränderliches benutzerdefiniertes Attribut hat. Es wird ein Wert für dieses Attribut angegeben.

  • Anmeldung mit einem Drittanbieter-IdP: Ein Benutzer meldet sich bei einem App-Client an, der Schreibzugriff auf ein unveränderliches benutzerdefiniertes Attribut hat. Ihre Benutzerpoolkonfiguration für den IdP enthält eine Regel, mit der ein bereitgestellter Antrag einem unveränderlichen Attribut zugeordnet wird. Dies ist möglich, aber nicht praktikabel, da sich der Benutzer nur einmal anmelden kann. Bei Anmeldeversuchen nach dem ersten Versuch lehnt Amazon Cognito den Versuch aufgrund der Zuordnungsregel zu einem jetzt nicht schreibbaren Attribut ab.

  • AdminCreateUser: Sie geben einen Wert für ein unveränderliches Attribut an.

Attributberechtigungen mit Geltungsbereichen

In Benutzerpools, die Sie mit einem AWS SDK oder CDK, der REST-API oder dem konfigurieren, können Sie den AWS CLI Lese- oder Schreibzugriff des App-Clients mit dem OIDC-Bereich konfigurieren. oidc:profile Das oidc:profile gewährt Lese- oder Schreibzugriff auf die folgenden Standardattribute:

  • name

  • family_name

  • given_name

  • middle_name

  • nickname

  • preferred_username

  • profile

  • picture

  • website

  • gender

  • birthdate

  • zoneinfo

  • locale

Diese Liste besteht aus den OIDC-Standardattributen abzüglich emailphone_number,sub, undaddress, wie in Abschnitt 2.4 der OIDC-Spezifikation definiert. Informationen zu den Bereichen, die Sie Ihren App-Clients zuweisen können, finden Sie unter Bereiche, M2M und APIs mit Ressourcenservern.

Um Ihren App-Client so zu konfigurieren, dass er in die Attribute im oidc:profile Bereich schreibt, legen Sie in einer WriteAttributesoder oidc:profile API-Anfrage den Wert auf sowie alle anderen Attribute fest, deren Änderung Sie durch Ihre Anwendung zulassen möchten. CreateUserPoolClientUpdateUserPoolClient Um ebenfalls Lesezugriff auf diese Attribute zu gewähren, erhöhen Sie oidc:profile den Wert von ReadAttributes.

Sie können Attributberechtigungen und -bereiche nach dem Erstellen des Benutzerpools ändern.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.