Passport ReferenceError: ошибка не определена - PullRequest
0 голосов
/ 12 марта 2020

Я хочу создать форму для входа, и я почти все исправил, но если я успешно зарегистрировался и хочу войти в систему, он выдает либо пароль, либо правильный:

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

...