flash消息返回[对象](Node Express Passport)



我正在使用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的一些问题。(仅与护照处理闪光消息结合使用(

最新更新