Preciso usar o fluxo de senha esquecida para ajudar os usuários a alterar suas senhas no Amazon Cognito.
Resolução
Um usuário do Amazon Cognito pode invocar a API ForgotPassword para iniciar um fluxo de senha esquecida e redefinir sua senha de usuário.
Siga estas etapas para configurar o fluxo de senha esquecida para alterar a senha de um usuário no Amazon Cognito:
1. Invoque a API ForgotPassword para enviar uma mensagem ao usuário que inclua um código de confirmação necessário para redefinir a senha do usuário.
Importante: nos exemplos de comandos da AWS Command Line Interface (AWS CLI), substitua todas as instâncias de exemplos de strings por seus valores. Por exemplo, substitua “example_client_id” por seu ID de cliente.
Exemplo do comando forgot-password:
aws cognito-idp forgot-password --client-id example_client_id --username example_user_name
Resultado:
{
"CodeDeliveryDetails": {
"Destination": "t***@g***",
"DeliveryMedium": "EMAIL",
"AttributeName": "email"
}
}
A mensagem do código de confirmação é enviada para o endereço de e-mail ou número de telefone verificado do usuário. O método de recuperação pode ser personalizado no parâmetro AccountRecoverySetting. A mensagem do código de confirmação no exemplo vai para o endereço de e-mail verificado do usuário. Sua configuração depende do seu caso de uso.
Observação: se não existir um número de telefone verificado ou um endereço de e-mail verificado para um usuário, um erro InvalidParameterException será gerado. Para saber mais sobre como configurar a verificação de endereço de e-mail e número de telefone, consulte Como configurar a verificação por e-mail ou telefone.
2. Invoque a API ConfirmForgotPassword para que o usuário possa inserir o código de confirmação para redefinir sua senha.
Exemplo do comando 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. Se necessário, personalize as respostas de erro de recuperação de senha, ao definir PreventUserExistenceErrors como Habilitado. Para saber mais, consulte Gerenciando respostas de erro.
4. Se o cliente do aplicativo estiver configurado com um segredo de cliente no grupo de usuários, você deverá fornecer o hash secreto. Para saber mais, consulte Como soluciono os erros de "Unable to verify secret hash for client <client-id>" da minha API de grupos de usuários do Amazon Cognito?