如何获取Amazon Cognito托管UI提示输入TOTP?

时间:2018-08-02 00:14:39

标签: amazon-web-services amazon-cognito

我假设系统会根据documentation提示我,具体说明如下:

  

如果您的应用程序使用Amazon Cognito托管的UI登录用户,则该UI将显示第二页,供您的用户在提交用户名和密码后输入TOTP密码。

在用户池的“ MFA和验证”部分下,我检查了以下内容:

  • 是否要启用多重身份验证(MFA)?
    • 可选
  • 您要启用哪些第二因素?
    • 基于时间的一次性密码

我添加了一个已验证的测试用户。

从那里开始,我按照文档Associate the TOTP TokenVerify the TOTP Token进行操作,确认我在响应中得到了用于调用AssociateSoftwareToken的秘密代码,并在响应中获得了VerifySoftwareToken的“ SUCCESS”。

在这一点上,我认为,当我使用托管的UI登录页面时,应在提交用户名/密码后提示我输入一次性密码,并在成功验证后将其重定向到我的应用程序客户端中指定的登录回调URL。

但是,提交用户名和密码后,我将立即被重定向,并且没有提示输入TOTP的提示。

2 个答案:

答案 0 :(得分:3)

在为测试帐户设置TOTP之后,可以通过显式调用SetUserMFAPreference使其工作。我的假设是,关联并验证TOTP会自动更改Cognito相对于用户身份验证流程的行为。还需要我告诉Cognito为用户启用和使用TOTP。

答案 1 :(得分:0)

对于任何偶然发现此问题且未提示 still 的人,您可能还需要清除cookie。即使您的池没有设置为记住用户设备,而无需清除Cookie,您仍然可以在没有TOTP的情况下登录。