Zac*_*ach 5 amazon-web-services amazon-cognito
如果您的应用程序使用Amazon Cognito托管的UI登录用户,则该UI将显示第二页,供您的用户在提交用户名和密码后输入TOTP密码。
在用户池的“ MFA和验证”部分下,我检查了以下内容:
我添加了一个已验证的测试用户。
从那里开始,我按照文档进行操作,以关联TOTP令牌和验证TOTP令牌,确认我在响应中获得了用于调用AssociateSoftwareToken的密码,在响应中获得了对VerifySoftwareToken的响应“ SUCCESS”。
在这一点上,我相信在使用托管的UI登录页面时,应在提交用户名/密码后提示我输入一次性密码,并在成功验证后将其重定向到登录回调URL。在我的应用客户端中指定。
但是,提交用户名和密码后,我将立即被重定向,并且没有提示输入TOTP的提示。
在为测试帐户设置TOTP后,我能够通过显式调用SetUserMFAPreference来使其工作。我认为关联和验证 TOTP 会自动改变 Cognito 在用户身份验证流程方面的行为是错误的。它还要求我告诉 Cognito 为用户启用和使用 TOTP。
我最初的困惑的症结在于,生成和关联软件令牌来为用户生成 OTP 并没有为用户启用它。SetUserMFAPreference还需要调用 来为用户启用它。完成后,它按预期工作。例如,要启用软件 MFA 并将其设置为首选:
{
"AccessToken": "xyz123",
"SoftwareTokenMfaSettings": {
"Enabled": true,
"PreferredMfa": true
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个管理版本的 API 调用可以达到相同的结果。
| 归档时间: |
|
| 查看次数: |
1760 次 |
| 最近记录: |