Wie stelle ich ein Benutzerpasswort in Amazon Cognito wieder her?

Lesedauer: 3 Minute
0

Ich möchte ein Benutzerpasswort in Amazon Cognito wiederherstellen.

Lösung

Es gibt zwei Möglichkeiten, ein Benutzerpasswort in Amazon Cognito wiederherzustellen:

  • Über eine verifizierte E-Mail-Adresse oder Telefonnummer.
  • Über ein durch den Administrator vergebenes Benutzerpasswort.

Bestätigung per E-Mail oder Telefonnummer

Sie können den API-Befehl ForgotPassword verwenden, um ein Benutzerpasswort wiederherzustellen. Der API-Befehl „ForgotPassword“ sendet einen Wiederherstellungscode an eine verifizierte E-Mail-Adresse oder eine verifizierte Telefonnummer. Der Wiederherstellungscode ist eine Stunde lang gültig. Verwenden Sie dann den API-Befehl ConfirmForgotPassword, um einen Bestätigungscode einzugeben, der das Passwort zurücksetzt.

Hinweis: Wenn Sie beim Ausführen von Befehlen von AWS Command Line Interface (AWS CLI) Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

AWS-CLI-Befehle:

ForgotPassword

aws cognito-idp forgot-password --client-id 38fjsnc484p94kpqsnet7mpld0 --username jane@example.com

Ausgabe:

{
  "CodeDeliveryDetails": {
    "Destination": "j***@e***.com",
    "DeliveryMedium": "EMAIL",
    "AttributeName": "email"
  }
}

ConfirmForgotPassword

aws cognito-idp confirm-forgot-password --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username=diego@example.com --password PASSWORD --confirmation-code CONF_CODE

Hinweis: Sie müssen „--secret-hash“ im CLI-Befehl bestehen, wenn Sie die beiden folgenden Anforderungen erfüllen:

  • Ihre AWS-CLI-Befehle haben „--client-id“ als Parameter.
  • Der App-Client ist mit einem Geheimnis konfiguriert.

Informationen zur Berechnung des geheimen Hashs eines App-Clients finden Sie unter [Wie behebe ich Fehler wie „Der geheime Hash für Client

kann nicht verifiziert werden“ in meiner Amazon Cognito-Benutzerpools-API?](https://repost.aws/de/knowledge-center/cognito-unable-to-verify-secret-hash)

Zurücksetzung durch Administrator

Hinweis: Wenn Sie kein Administrator sind, wenden Sie sich an Ihren Administrator, um die folgenden Aktionen durchzuführen.

Wenn Sie den API-Befehl AdminResetUserPassword aufrufen, wird das aktuelle Passwort ungültig und Sie müssen es ändern. Wenn ein Benutzer versucht, sich anzumelden, nachdem der API-Befehl aufgerufen wurde, geht die App wie folgt vor:

  • Holen Sie sich PasswordResetRequiredException zurück.
  • Weist den Benutzer an, das Passwort mit dem Passwort vergessen Flow wiederherzustellen.

Darüber hinaus führt der Aufruf der API dazu, dass dem Benutzer eine Nachricht mit einem Code zum Ändern seines Passworts gesendet wird, wenn:

  • Für den Benutzerpool die telefonische Bestätigung eingerichtet ist und
  • Für den Benutzer eine verifizierte Telefonnummer oder E-Mail-Adresse vorhanden ist.

AWS-CLI-Befehle:

AdminResetUserPassword

aws cognito-idp admin-reset-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com

ConfirmForgotPassword

aws cognito-idp confirm-forgot-password --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username diego@example.com --password PASSWORD --confirmation-code CONF_CODE

AdminSetUserPassword

Als Administrator können Sie auch den API-Befehl AdminSetUserPassword verwenden, um das Passwort des Benutzers in einem Benutzerpool aufzurufen. Das Passwort kann als temporär oder permanent eingestellt werden. Wenn es temporär ist, wechselt der Benutzerstatus zu FORCE_CHANGE_PASSWORD. Wenn Sie sich anmelden, enthält die InitiateAuth/AdminInitiateAuth-Antwort die NEW_PASSWORD_REQUIRED-Aufforderung. Wenn Sie sich nicht anmelden, bevor es abläuft, können Sie sich nicht anmelden und müssen das Passwort zurücksetzen. Nachdem Sie ein neues Passwort festgelegt haben oder wenn das Passwort permanent ist, wird der Benutzerstatus auf BESTÄTIGT gesetzt.

aws cognito-idp admin-set-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --password Hello@123 --permanent

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr