Необработанное отклонение (ошибка типа): user.associateSoftwareToken не является функцией

#aws-amplify

#aws-amplify

Вопрос:

Я пытаюсь настроить MFA для использования пользователем aws-amplify . Столкнулся с этой ошибкой при получении секретного кода.

Ниже приведен мой код:

 async function getCode(user) {
  let code = await Auth.setupTOTP(user);
  return code;
}

useEffect(() => {
  if(location.search) {
    let username = new URLSearchParams(location.search).get("user");
    let issuer = new URLSearchParams(location.search).get("issuer");
    let code = getCode(username);
  }
  

Ошибка:

введите описание изображения здесь

Пожалуйста, дайте совет, спасибо.

Ответ №1:

Я передавал ей неправильное значение. Это должен быть не просто username , а скорее весь CognitoUser объект.

Правильный способ:

 async function getCode() {
   let user = await Auth.currentAuthenticatedUser();
   let code = await Auth.setupTOTP(user);
   return code;
}