我正在构建移动/ Web应用程序,并且想利用AWS Cognito进行身份验证。
我想在完全实现之前做一个概念证明。作为其中的一部分,我设置了一个用户池,并使用了Amplify to Signup,SignIn用户。
作为“注册”的一部分,我能够使用验证码对电话(或)电子邮件进行验证。
此外,作为登录的一部分,我在手机/电子邮件中收到了MFA令牌,并在登录之前验证了MFA。
我的问题是,我想区分电子邮件/电话验证方法(SignUp)与MFA令牌方法(SignIn)。
是否可以通过验证链接(SignUp)验证用户电子邮件,并使用基于令牌的MFA进行登录?
我尝试将用户池MFA消息从代码更改为链接。我在电子邮件中获得了一个验证链接,但是我没有获得MFA-因为我已使用电子邮件作为验证方法。
根据文档,电子邮件验证不会作为登录的一部分触发MFA。
答案 0 :(得分:0)
在用户池中,如果您根据需要选择了电子邮件和电话,则电话将具有更高的优先级。在注册和登录时,您只会通过短信(而不是电子邮件)获得MFA代码。 但是,如果您想使用电子邮件进行注册并使用MFA短信代码进行登录,请阅读以下内容-
您需要从AWS开发工具包调用3种方法(GetUser,GetUserAttributeVerificationCode和VerifyUserAttribute)以验证其他属性。
参考文章-AWS Docs
希望有帮助。