从 Android 在 Amazon Cognito 中启用用户 mfa

Enable user mfa in Amazon Cognito from Android

所以在 Amplify 中,没有特定的方法来更改用户 MFA,但我找到了一种方法,通过 an example in codeMFA 和验证 > 是否要启用多重身份验证 (MFA)? 为可选。但它不会反映在 Cognito 网络管理门户上 - 启用 SMS MFA 应该是 禁用 SMS MFA

所以我的问题是,

这不是 Amplify Android Auth 目前支持的功能。你可以 log a feature request in their GitHub issues.

如果您想在运行时更改 MFA 配置,可以尝试直接调用 Cognito APIs。比如有一个admin API, AdminSetUserMFAPreference.

请注意,我没有亲自尝试过,我不确定它是否可以与 Amplify Android Auth.

兼容

您有两种选择来调用 Cognito API。

  1. 从后端(推荐)使用您喜欢的任何语言 SDK。也许您可以在 AWS Lambda 函数中从 REST API 调用它。
  2. 从 Android 客户端,使用 AWS Android SDK 的低级 Cognito IDP 客户端。 (请参阅 aws-android-sdk-cognitoidentityprovider 库中的 adminSetUserMFAPreference(...)。)

(1) 和 (2) 都会对您的应用产生安全隐患。请确保您已经考虑过 可以将权限、时间以及是否安全切换到 disable/change MFA。