启用S​​MS MFA后,如何在测试过程中跳过MFA验证?

时间:2019-02-06 22:33:13

标签: amazon-web-services amazon-cognito aws-amplify

我正在使用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"
  );
} 

返回错误,说明代码不能为空。

  1. “ ADMIN_NO_SRP_AUTH”在这里到底是什么意思?这是否意味着用户不需要输入验证码?
  2. 我的预期行为真的可以实现吗?如果是,怎么办?

非常感谢!

0 个答案:

没有答案