UnhandledPromiseRejectionWarning: Ошибка: требуются аргументы данных и соли - PullRequest
0 голосов
/ 21 марта 2020

У меня есть эта ошибка с этим кодом:

async function get(user) {
  user = await Joi.validate(user, userSchemaGet, { abortEarly: false });
  await User.findOne(
    {_id: user._id}, 
    (err, res) => {
      if(err){
        console.log("ERROR : ")
        console.log(err)
      } else {
        console.log("res")
        console.log(res);
        if(bcrypt.hash(user.password, 10) === res.hashedPassword) {
          return res;
        }
      }
    });
}

Я прочитал весь стековый поток на эту тему, но ничего не происходит. PS: он отлично работает в последний день ...

1 Ответ

0 голосов
/ 21 марта 2020

1) Возможно, user.password является нулевым или неопределенным. Проверьте значение user, прежде чем передать его в функцию hash.

2) bcrypt.hash - это обещание, но вы используете его как обычную функцию.

3) bcrypt имеет специальную функцию сравнения, которая предназначена для проверки соответствия passowrd га sh. Вы должны использовать это здесь.

Bcrypt docs

...