nodejs + passport + express 3.0 + connect-flash no flashing?



我使用passport本地策略对用户进行身份验证。我遵循了JaredHanson给出的指南,安装了connectflash,以便为req对象提供flash方法。

我的一个请求处理程序如下:

 app.post('/login',                             
      passport.authenticate('local', {           
          successRedirect: '/'                   
        , failureRedirect: '/login'              
        , successFlash: 'Bienvenido'             
        , failureFlash: 'Credenciales no válidas'                             
      })                                         
  );   

当用户登录失败时,它会再次将用户重定向到/login,但不会闪烁任何内容。

我使用mongodb进行会话存储,我看到的是:

> db.sessions.find()
{ "_id" : "qZ2eiTnx6r9LR25JOz/TGhiJ", "session" : "{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"passport":{"user":"4ffb5b5db9cc16b615000001"},"flash":{"error":["Credenciales no válidas"],"success":["Bienvenido"]}}" }

因此,消息被插入到会话对象中,但不会被拉出。我应该做点特别的事吗?

我假设您正在提取消息并在视图中呈现它们?类似于:

app.get('/login', function(req, res){
  res.render('login', { message: req.flash('error') });
});

最新更新