Ich muss den Passwort vergessen Flow verwenden, um Benutzern zu helfen, ihre Passwörter in Amazon Cognito zu ändern.
Auflösung
Ein Amazon-Cognito-Benutzer kann die ForgotPassword-API aufrufen, um einen Prozess zum Zurücksetzen seines Benutzerpassworts zu initiieren.
Gehen Sie wie folgt vor, um den Passwort vergessen Flow einzurichten, um das Passwort eines Benutzers in Amazon Cognito zu ändern:
1. Rufen Sie die ForgotPassword-API auf, um eine Nachricht an den Benutzer zu senden, die einen Bestätigungscode enthält, der zum Zurücksetzen des Benutzerpassworts erforderlich ist.
Wichtig: Ersetzen Sie in den Beispielbefehlen für das AWS Command Line Interface (AWS CLI) alle Instances von Beispielzeichenfolgen durch Ihre Werte. (Ersetzen Sie beispielsweise „example_client_id“ durch Ihre Client-ID.)
Beispiel für den Befehl forgot-password:
aws cognito-idp forgot-password --client-id example_client_id --username example_user_name
Ausgabe:
{
"CodeDeliveryDetails": {
"Destination": "t***@g***",
"DeliveryMedium": "EMAIL",
"AttributeName": "email"
}
}
Die Bestätigungscodenachricht wird an die verifizierte E-Mail-Adresse oder verifizierte Telefonnummer des Benutzers gesendet. Die Wiederherstellungsmethode kann im Parameter AccountRecoverySetting angepasst werden. Die Bestätigungscodenachricht wird in diesem Beispiel an die verifizierte E-Mail-Adresse des Benutzers gesendet. Ihre Konfiguration hängt von Ihrem Anwendungsfall ab.
Hinweis: Wenn für einen Benutzer weder eine verifizierte Telefonnummer noch eine verifizierte E-Mail-Adresse vorhanden ist, wird ein InvalidParameterException-Fehler ausgelöst. Weitere Informationen zur Konfiguration der Überprüfung von E-Mail-Adresse und Telefonnummer finden Sie unter Konfiguration der E-Mail- oder Telefonverifizierung.
2. Rufen Sie die ConfirmForgotPassword-API auf, damit der Benutzer den Bestätigungscode eingeben kann, um sein Passwort zurückzusetzen.
Beispiel für den Befehl confirm-forgot-password:
aws cognito-idp confirm-forgot-password --client-id example_client_id --username=user@example.com --password example_password --confirmation-code example_confirmation_code
3. Passen Sie bei Bedarf die Antworten auf Fehler bei der Passwortwiederherstellung an, indem Sie PreventUserExistenceErrors auf Aktiviert setzen. Weitere Informationen finden Sie unter Fehlerreaktionen verwalten.
4. Wenn Ihr App-Client mit einem Client-Geheimnis im Benutzerpool konfiguriert ist, müssen Sie den geheimen Hash angeben. Weitere Informationen finden Sie unter Wie behebe ich den Fehler „Geheimer Hash für Client <client-id> kann nicht überprüft werden“ in meiner Amazon-Cognito-Benutzerpool-API?