Cognito 为用户重置 MFA
Cognito reset MFA for a user
我在 AWS Cognito 中创建了一个用户池,并将 MFA 设置为 可选
自适应身份验证作为 可选 MFA。
为用户启用的MFA方法是TOTP,我通过调用SetUserMFAPreference启用。
我的用例要求任何卸载 TOTP 应用程序或购买新手机的用户 phone 都可以通过生成新的有效 TOTP 令牌在新设备中再次安装它。
生成新 TOTP 有效令牌的唯一方法是调用 AssociateSoftwareToken,但它需要用户没有的访问令牌,因为他们尚未登录。
我尝试使用 SetUserMFAPreference 设置 enabled=false 但它不起作用。登录仍然需要 TOTP 质询。
是否有任何方法可以禁用 MFA 或重新生成新的 TOTP 令牌以实现以下行为?
所以我找到了解决这个问题的方法。
Cognito 中不允许禁用 MFA 功能。我们所做的是,我们决定存储现有令牌,而不是尝试创建新令牌,并在每次用户想要在另一台设备上重新安装身份验证器应用程序时重新使用它。
这样,我们就不需要创建新的token,只需要复用已有的。
我在 AWS Cognito 中创建了一个用户池,并将 MFA 设置为 可选
自适应身份验证作为 可选 MFA。
为用户启用的MFA方法是TOTP,我通过调用SetUserMFAPreference启用。
我的用例要求任何卸载 TOTP 应用程序或购买新手机的用户 phone 都可以通过生成新的有效 TOTP 令牌在新设备中再次安装它。 生成新 TOTP 有效令牌的唯一方法是调用 AssociateSoftwareToken,但它需要用户没有的访问令牌,因为他们尚未登录。
我尝试使用 SetUserMFAPreference 设置 enabled=false 但它不起作用。登录仍然需要 TOTP 质询。
是否有任何方法可以禁用 MFA 或重新生成新的 TOTP 令牌以实现以下行为?
所以我找到了解决这个问题的方法。
Cognito 中不允许禁用 MFA 功能。我们所做的是,我们决定存储现有令牌,而不是尝试创建新令牌,并在每次用户想要在另一台设备上重新安装身份验证器应用程序时重新使用它。
这样,我们就不需要创建新的token,只需要复用已有的。