Я использую passport.js и хочу вернуть флэш-сообщение, если имя пользователя или пароль не соответствуют настройке. Вся логика настроена, и она работала раньше. Но я как-то сломал функцию, и она все еще не работает, хотя я скопировал рабочую версию 1 на 1.
В моем приложении есть настройка флэш-сообщений, которая безупречно работает для всех других флэш-сообщений, не связанных с passport.js.
Но если я попытаюсь войти в систему, мое флэш-сообщение будет пустым, и я получу [object Object]
как console.log.
Вопрос 1 : Есть ли способ получить доступ ко всей информации, которую представляет [object Object]
?
Вопрос 2 : Есть ли способ в console.log, что мигает перед его отображением?
Как мне получить доступ к этой части сессий?
Маршрут:
router.post('/',
passport.authenticate('local', { successRedirect: '/', failureRedirect: '/login', failureFlash: true }),
function(req, res) {
console.log('Login success.');
});
Паспортный код, который отправляет флэш-сообщение для контекста:
passport.use(new LocalStrategy(
function(username, password, done) {
User.getUserByUsername(username, function(err, user){
if (err) throw err;
if (!user) {
console.log('A user tried logging in, but username input returned unknown.');
return done(null, false, {message: 'Unknown user.'});
}
User.comparePassword(password, user.password, function(err, isMatch){
if(err) throw err;
if(isMatch) {
return done(null, user);
} else {
console.log('A user tried logging in, but password input returned invalid.');
return done(null, false, {message: 'Invalid password.'});
}
});
});
}
));
Отображение сообщения с рулем на мой взгляд:
{{#if error_msg}}
<div class="alert alert-danger">{{error_msg}}</div>
{{/if}}
{{#if error}}
<div class="alert alert-danger">{{error}}</div>
{{/if}}
(в моей старой ветке, которая работает, возвращается с ошибкой_msg - в моей текущей ветке возвращается просто ошибка с [object Object] console.log)
Заранее спасибо!