Cognito Javascript SDK示例片段包含以下标记:
cognitoUser.enableMFA(function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});
Cognito 是否区分使用TOTP或 SMS 的 MFA?例如,上面的代码片段不允许我们选择我们想要的 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 应用程序?