我正在使用aws cognito处理用户登录过程。我启用了SMS MFA,因此该程序每次用户登录时都需要SMS MFA验证码。但是,这对于测试过程并不友好。在启用MFA的情况下,我该怎么做才能跳过验证过程?
有效方法(使用验证码登录):
const { Auth, API } = require('aws-amplify');
let loginData = await Auth.signIn(username, password);
if (loginData.challengeName === 'SMS_MFA') {
const code = readline.question("Please enter the MFA code: ");
// If MFA is enabled, sign-in should be confirmed with the confirmation code
loginData = await Auth.confirmSignIn(
loginData, // Return object from Auth.signIn()
code, // Confirmation code
"SMS_MFA" // MFA Type e.g. SMS, TOTP.
);
}
我的错误尝试(尝试跳过输入代码):
let loginData = await Auth.signIn(username, password);
if (loginData.challengeName === 'SMS_MFA') {
// If MFA is enabled, sign-in should be confirmed with the confirmation code
loginData = await Auth.confirmSignIn(
loginData,
"",
"ADMIN_NO_SRP_AUTH"
);
}
返回错误,说明代码不能为空。
非常感谢!