Como faço para recuperar uma senha do usuário no Amazon Cognito?
Quero recuperar uma senha do usuário no Amazon Cognito.
Resolução
Há duas maneiras de recuperar uma senha do usuário no Amazon Cognito:
- Por meio de um e-mail ou número de telefone verificado.
- Por meio de uma senha do usuário via administrador.
Verificação de e-mail ou número de telefone
Você pode usar o comando da API ForgotPassword para recuperar a senha de um usuário. O comando da API ForgotPassword envia um código de recuperação para um e-mail ou número de telefone verificado. O código de recuperação é válido por uma hora. Em seguida, use o comando da API ConfirmForgotPassword para inserir um código de confirmação que redefina a senha.
Observação: se você perceber erros ao executar os comandos da AWS Command Line Interface (AWS CLI), verifique se está usando a versão mais recente da AWS CLI.
Comandos da AWS CLI:
ForgotPassword
aws cognito-idp forgot-password --client-id 38fjsnc484p94kpqsnet7mpld0 --username jane@example.com
Saída:
{ "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
Observação: você deve passar --secret-hash no comando da CLI se atender aos dois requisitos a seguir:
- Seus comandos da AWS CLI têm --client-id como parâmetro.
- O cliente da aplicação está configurado com um segredo.
Para calcular o hash secreto de um cliente de aplicação, consulte [How do I troubleshoot "Unable to verify secret hash for client
" errors from my Amazon Cognito user pools API?](https://repost.aws/pt/knowledge-center/cognito-unable-to-verify-secret-hash) (Como soluciono erros de “Não é possível verificar o hash secreto do cliente
” da minha API de grupos de usuários do Amazon Cognito?)
Redefinição do administrador
Observação: caso não seja o administrador, entre em contato com o administrador para concluir as ações a seguir.
Quando você chama o comando da API AdminResetUserPassword, a senha atual é invalidada e você deve alterá-la. Se um usuário tentar fazer login depois que o comando da API for chamado, a aplicação fará o seguinte:
- Recupere PasswordResetRequiredException.
- Direcione o usuário a redefinir a senha com o fluxo de senha esquecida.
Além disso, chamar a API resulta no envio de uma mensagem ao usuário com um código para alterar a senha se:
- O grupo de usuários tiver a verificação por telefone configurada e
- Existir um número de telefone ou e-mail verificado para o usuário.
Comandos da AWS CLI:
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
Como administrador, você também pode usar o comando da API AdminSetUserPassword para chamar a senha do usuário em um grupo de usuários. A senha pode ser temporária ou permanente. Se for temporária, o status do usuário entrará no estado FORCE_CHANGE_PASSWORD. Quando você faz login, a resposta InitiateAuth/AdminInitiateAuth contém o desafio NEW_PASSWORD_REQUIRED. Se você não fizer login antes que expire, não poderá fazer login e deverá redefinir a senha. Depois de definir uma nova senha, ou se a senha for permanente, o status do usuário será definido como CONFIRMED (CONFIRMADO).
aws cognito-idp admin-set-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --password Hello@123 --permanent
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos