gpt4 book ai didi

amazon-cognito - 使用Cognito忘记密码无法通过电子邮件接收任何代码

转载 作者:行者123 更新时间:2023-12-03 15:42:47 25 4
gpt4 key购买 nike

我是第一次使用AWS Cognito Auth。

  • 创建了一个用户池(成功)
  • 使用AdminCreateUser API在池中创建用户(成功)
  • 尝试使用AdminInitiateAuth API和AdminRespondToAuthChallenge API来获取访问 token (成功)
  • 尝试使用ForgotPassword API重置密码,但是它根本不起作用。

  • 这是我在JAVA中ForgotPassword的代码:
    ForgotPasswordRequest request = ForgotPasswordRequest.builder()
    .clientId(GetUserPoolClientId(companyCode))
    .username(userEmail)
    .build();
    ForgotPasswordResponse response = cognitoClient.forgotPassword(request);

    回复给我***@gmail.com,但我没有收到任何电子邮件。

    最佳答案

    我已经为此苦苦挣扎了几天,但终于找到了答案。似乎我们无法将ForgotPassword电子邮件发送给未通过电子邮件验证的用户,这可能在您使用AdminCreateUser API时发生,因为用户仅收到用于临时密码而不用于电子邮件验证的电子邮件。

    Verification of a phone or email is necessary to automatically confirm users and enable recovery from forgotten passwords.


    https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html?icmpid=docs_cognito_console
    解决方案:
    当您调用AdminCreateUser方法时,您实际上可以将电子邮件验证标志作为另一个属性传递:
    {
    //AminCreateUser request ...
    "UserAttributes": [
    // other user attributes ...
    {
    "Name": "email_verified",
    "Value": "true"
    }
    ],
    }
    还应该可以使用AdminUpdateUserAttributes API更新email_verified状态。

    关于amazon-cognito - 使用Cognito忘记密码无法通过电子邮件接收任何代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60810326/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com