Выполните вход в систему и зарегистрируйтесь, используя Knex, Express и NodeJS

0

Я хочу создать приложение с помощью Knex-MySQL, Express и NodeJS. Я загрузил Plunker для своего кода. У меня еще нет интерфейса, я использую Postman.

Регистрация работает нормально, но при входе я получаю

{
    "status": "User not found"
}

или же

{
    "message": "Missing credentials"
}

Какая проблема? Почему вы не входите в систему, чтобы видеть пользователя, которого я вставлял в db?

  • 0
    Почему -1? Я так сильно обеспокоил вас своим вопросом? Я дал все объяснения, ничего неясного.
Теги:
express
knex.js

1 ответ

1
Лучший ответ

Я понял, в чем проблема, и изменил функцию из local.js следующим образом:

passport.use('local', new LocalStrategy({
  usernameField: 'email',
  passwordField: 'password'
},
  function (username, password, done) {
    knex('user')
      .where('email', '=', username)
      .then((err, user) => {
        if (err) { return done(err); }
        if (!user) {
          return done(null, false, { message: 'Incorrect email.' });
        }
        if (!user.isValid(password)) {
          return done(null, false, { message: 'Incorrect password.' });
        }
        return done(null, user);
      })
  }
));

email - это не то, что ищет паспорт, но username.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню