我们有一个使用AWS Cognito(+托管Web UI)的应用程序,其中用户仅由管理员创建。带有SMS的MFA是必需的。这是我们当前面向新用户的流程:
AdminCreateUser
的aws-sdk创建新用户。给出了电子邮件,姓名和电话号码。FORCE_CHANGE_PASSWORD
的新帐户。用户名和临时密码通过电子邮件发送给用户。CONFIRMED
,但未设置phone_number_verified
。但是,MFA挑战从 second 登录开始运行良好。换句话说,只有在他们第二次登录时,用户的电话号码才会得到验证。这意味着在首次登录后忘记密码的用户无法重设密码(因为它需要经过验证的电话号码)。
知道为什么会发生这种情况吗?我应该考虑哪些设置?我知道可以通过编程将phone_number_verified
设置为true
来避免出现主要问题,但是我想知道为什么MFA挑战在首次登录时失败。