从 Android 在 Amazon Cognito 中启用用户 mfa
Enable user mfa in Amazon Cognito from Android
所以在 Amplify 中,没有特定的方法来更改用户 MFA,但我找到了一种方法,通过 an example in code 和 MFA 和验证 > 是否要启用多重身份验证 (MFA)? 为可选。但它不会反映在 Cognito 网络管理门户上 - 启用 SMS MFA 应该是 禁用 SMS MFA
所以我的问题是,
- 这是一个好习惯吗?
- 我怎样才能真正从 Android 更改 MFA 设置,这意味着 启用 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。
- 从后端(推荐)使用您喜欢的任何语言 SDK。也许您可以在 AWS Lambda 函数中从 REST API 调用它。
- 从 Android 客户端,使用 AWS Android SDK 的低级 Cognito IDP 客户端。 (请参阅
aws-android-sdk-cognitoidentityprovider
库中的 adminSetUserMFAPreference(...)
。)
(1) 和 (2) 都会对您的应用产生安全隐患。请确保您已经考虑过 谁 可以将权限、时间以及是否安全切换到 disable/change MFA。
所以在 Amplify 中,没有特定的方法来更改用户 MFA,但我找到了一种方法,通过 an example in code 和 MFA 和验证 > 是否要启用多重身份验证 (MFA)? 为可选。但它不会反映在 Cognito 网络管理门户上 - 启用 SMS MFA 应该是 禁用 SMS MFA
所以我的问题是,
- 这是一个好习惯吗?
- 我怎样才能真正从 Android 更改 MFA 设置,这意味着 启用 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。
- 从后端(推荐)使用您喜欢的任何语言 SDK。也许您可以在 AWS Lambda 函数中从 REST API 调用它。
- 从 Android 客户端,使用 AWS Android SDK 的低级 Cognito IDP 客户端。 (请参阅
aws-android-sdk-cognitoidentityprovider
库中的adminSetUserMFAPreference(...)
。)
(1) 和 (2) 都会对您的应用产生安全隐患。请确保您已经考虑过 谁 可以将权限、时间以及是否安全切换到 disable/change MFA。