аутентификация с Passport.js

197
31 октября 2018, 21:10

Помогите пожалуйста, понят что я делаю не так. Всё время получаю 'Login failed'

passport.use(new LocalStrategy({
  usernameField: 'email',
  passwordField: 'password',
  session: false
},
function (email, password, done) {
  User.findOne({email}, (err, user) => {
    if (err) {
      return done(err);
    }
    if (!user || !user.checkPassword(password)) {
      return done(null, false, {message: 'Нет такого пользователя или пароль неверен.'});
    }
    return done(null, user);
  });
}
)
);
const jwtOptions = {
  jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
  secretOrKey: jwtsecret
};

passport.use(new JwtStrategy(jwtOptions, async (payload, done) => {
    await User.findById(payload.id, (err, user) => {
      if (err) {
        return done(err)
      }
      if (user) {
        done(null, user)
      } else {
        done(null, false)
      }
    })
  })
);
router.post('/users/login', async (ctx, next) => {
  const user = await User.findOne({
where: {username: ctx.request.body.username}})
  await passport.authenticate('local', function (err, user) {
//от куда берется user? и почему всегда возвращает false? 
    if (user == false) {
      ctx.body = "Login failed";
    } else {
      const payload = {
        username: user.username,
      };
      const token = jwt.sign(payload, jwtsecret); 
      ctx.body = {user: user.username, token: 'JWT ' + token};
    }
   })
 (ctx, next)
});
READ ALSO
Взаимодействие JS и XML

Взаимодействие JS и XML

Всем привет, есть скрипт, написанный на JS, который создает заявку в БД, заполняя определенные параметры, в том числе и дата в формате DDMM

179
Новая переменная в цикле while [дубликат]

Новая переменная в цикле while [дубликат]

На данный вопрос уже ответили:

190
443 порт с использованием Express

443 порт с использованием Express

Есть такой код, который прослушивает 443 порт:

196
За получить адрес сайта без доменного имени?

За получить адрес сайта без доменного имени?

Как с помощью javascript получить адрес сайта без доменного имени?

205