在没有临时密码电子邮件的情况下在AWS Cognito中创建新用户

时间:2020-11-06 19:10:11

标签: ruby amazon-web-services amazon-cognito

我遇到了一个问题,即新的Cognito用户无法使用忘记密码功能,除非他们已经使用密码登录(这样会破坏目的)。

用户创建成功,并且在控制台中调用忘记密码不会提供任何错误,但如果帐户状态为“启用/ FORCE_CHANGE_PASSWORD”,则用户永远不会收到忘记密码的电子邮件

        user_pool_id: $pool_id,
        username: user['email'],
        message_action: 'SUPPRESS',
        user_attributes: [
          {
            name: 'given_name',
            value: user['first_name']
          },
          {
            name: 'family_name',
            value: user['last_name']
          },
          {
            name: 'email',
            value: user['email']
          },
          {
            name: 'email_verified',
            value: 'true'
          }
        ]
      }
      cognito.admin_create_user(params)```

1 个答案:

答案 0 :(得分:1)

要允许您的用户在一个全新的帐户上重置密码,您需要自己设置一个“伪”密码。您可以生成随机的任何东西(但仍然很强大),然后像这样进行设置(是的,它不是Ruby,但是动作应该相同):

aws cognito-idp admin-set-user-password --user-pool-id <value> --username <email-address> --password <value> --permanent

之后,您的用户将能够触发“忘记密码”操作。