我正在使用passport.js,如果用户名或密码是incorect设置,则希望返回闪存消息。所有逻辑都是设置的,并且以前起作用。但是我以某种方式打破了该功能,即使我将工作版本1复制为1,它仍然无法正常工作。我的应用程序中有Flash消息设置,该设置可用于所有其他涉及Passport.js的其他闪存消息。
但是,如果我尝试登录,我的闪存消息是空的,并且我接收[object Object]
作为控制台。
问题1 :有没有办法访问[object Object]
代表的所有信息?
问题2 :是否有一种方法可以安装。我将如何访问会议的那部分?
路线:
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}}
(在我正在工作的较旧分支中,它使用error_msg返回 - 在我当前的分支中,它的返回仅使用[object object] console.log(
(预先感谢!
修复了问题,通过删除handlebars-helpers
库,该库引入了有关Flash Messaging的一些问题。(仅与护照处理闪光消息结合使用(