Я хочу создать форму для входа, и я почти все исправил, но если я успешно зарегистрировался и хочу войти в систему, он выдает либо пароль, либо правильный:
UnhandledPromiseRejectionWarning: ReferenceError: ошибка не определена Итак, я посмотрел, и сообщение об ошибке выглядит так: bcrypt.compare(password, user.password, (err, isMatch => {
Если имя пользователя неверно или не существует, просто перенаправьте меня с сообщением об ошибке, как я его запрограммировал. Полный контроллер / паспорт. js файл
module.exports = function (passport) {
passport.use(
new LocalStrategy({ usernameField: 'username' }, (username, password, done) => {
// Matching
User.findOne({ username: username })
.then(user => {
if (!user) {
return done(null, false)
}
bcrypt.compare(password, user.password, (err, isMatch => {
if (err) throw err;
if (isMatch) {
return done(null, user);
} else {
return done(null, flase, { message: 'Passwort nicht korrekt' })
}
}))
})
})
)
passport.serializeUser( function (user, done) {
done(null, user.id);
});
passport.deserializeUser( function (id, done) {
User.findById(id,function (err, user) {
done(err, user);
});
});
}
Я включаю этот модуль в свои маршруты. js // Логин
router.get('/', forwardAuthenticated, (req, res) => {
res.render('login/index');
})
router.post('/', (req, res, next) => {
passport.authenticate('local', {
successRedirect: '../admin',
failureRedirect: '/login'
})(req, res, next)
})
app. js
require('./controller/passport')(passport);
app.use(passport.initialize());
app.use(passport.session());
Я пытался удалить ошибку, но тогда ложь не определялась, я посмотрел паспортный документ, но не нашел ничего, есть идеи? Я пользуюсь express, паспорт, паспорт-местный, пн goose