池设置期间是否配置了使用的 Cognito MFA 类型?
Is the type of Cognito MFA used configured during Pool setup?
Cognito Javascript SDK 示例片段包含以下标记:
cognitoUser.enableMFA(function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
Cognito 是否区分使用 TOTP 或短信的 MFA?例如,上面的代码片段不允许我们 select 我们想要什么类型的 MFA,那是在池配置期间设置的东西吗?
一直滚动到示例文档的底部会显示以下代码示例:
totpMfaSettings = {
PreferredMfa : true,
Enabled : true
};
cognitoUser.setUserMfaPreference(null, totpMfaSettings, function(err, result) {
if (err) {
alert(err);
}
console.log('call result ' + result)
});
PreferredMFA
参数似乎是一种奇怪的指定首选 TOTP 的方法。那么我们会默认为 SMS MFA 设置用户,然后使用如上所示的 API 调用将他们切换到 TOTP 吗?另外,我们如何传递初始 TOTP QRCode / 种子以及用户使用哪个 TOTP 应用程序?
在我看来,AWS Cognito 文档和 API 非常混乱,这里 "enableMFA" "disableMFA" 仅表示 SMS MFA。如果要在 SMS 和 TOTP 之间进行选择,请使用 cognitoUser.setUserMfaPreference。此外,AWS.CognitoIdentityServiceProvider.getUser API 允许您检查 MFA 首选项。
Cognito Javascript SDK 示例片段包含以下标记:
cognitoUser.enableMFA(function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
Cognito 是否区分使用 TOTP 或短信的 MFA?例如,上面的代码片段不允许我们 select 我们想要什么类型的 MFA,那是在池配置期间设置的东西吗?
一直滚动到示例文档的底部会显示以下代码示例:
totpMfaSettings = {
PreferredMfa : true,
Enabled : true
};
cognitoUser.setUserMfaPreference(null, totpMfaSettings, function(err, result) {
if (err) {
alert(err);
}
console.log('call result ' + result)
});
PreferredMFA
参数似乎是一种奇怪的指定首选 TOTP 的方法。那么我们会默认为 SMS MFA 设置用户,然后使用如上所示的 API 调用将他们切换到 TOTP 吗?另外,我们如何传递初始 TOTP QRCode / 种子以及用户使用哪个 TOTP 应用程序?
在我看来,AWS Cognito 文档和 API 非常混乱,这里 "enableMFA" "disableMFA" 仅表示 SMS MFA。如果要在 SMS 和 TOTP 之间进行选择,请使用 cognitoUser.setUserMfaPreference。此外,AWS.CognitoIdentityServiceProvider.getUser API 允许您检查 MFA 首选项。