当需要 MFA 时,Cognito 用户如何在首次登录时初始化 TOTP?

And*_*rew 6 authentication amazon-web-services

我正在设置 Amazon Cognito 进行身份验证以使用 Kibana 实例。我只允许管理员创建用户,我只允许 Cognito 用户池身份提供者。创建用户池时,我将多重身份验证设置为“必需”并仅启用“基于时间的一次性密码”选项。我将 Amazon Cognito 域用于登录页面。

当我从 AWS 控制台创建 Cognito 用户时,我通过电子邮件发送邀请。转到 Kibana URL 时,服务器会按预期重定向到 Cognito 登录页面。使用邮件中的临时密码登录后,用户需要更改密码,然后再次尝试登录。

问题是需要MFA,但是用户没有机会设置TOTP应用。我希望 TOTP 设置遵循所需的密码更改。相反,Cognito 会拒绝未启用 MFA 的登录:

您必须设置多重身份验证 (MFA) 才能登录。请设置 MFA,然后重试。

缺少 MFA 的 Cognito 登录错误消息

在 AWS 控制台中管理用户显示启用SMS MFA的选项。但是,我没有使用短信。

用户管理界面

TOTP软件令牌MFA文件规定:

当您的用户选择 TOTP 软件令牌 MFA 时,调用AssociateSoftwareToken以返回为用户帐户生成的唯一共享密钥代码。此 API 方法的请求需要访问令牌或会话字符串,但不能同时使用两者。为方便起见,您可以将密钥作为快速响应 (QR) 代码分发。

但这听起来像是在用户“选择”TOTP 之后我需要以某种方式进行 API 调用。我没有编写可以进行 API 调用的自己的应用程序——此身份验证仅用于访问 Amazon Elasticsearch Service 提供的 Kibana 实例。

用户如何初始化TOTP以便他们可以根据需要使用它完成登录?