我遇到了一个问题,即新的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)```
答案 0 :(得分:1)
要允许您的用户在一个全新的帐户上重置密码,您需要自己设置一个“伪”密码。您可以生成随机的任何东西(但仍然很强大),然后像这样进行设置(是的,它不是Ruby,但是动作应该相同):
aws cognito-idp admin-set-user-password --user-pool-id <value> --username <email-address> --password <value> --permanent
之后,您的用户将能够触发“忘记密码”操作。