会话丢失了passport.js

Fre*_*mou 5 node.js express passport.js

我设法使用passport.js登录

    app.post('/login', passport.authenticate('local'), function(req, res) {
        res.cookie('username', req.user.username);
        res.redirect('/');
    });
Run Code Online (Sandbox Code Playgroud)

但在那之后,我的会话似乎丢失了。

    app.post('/user/favorites', function(req, res) {
    // `req.user` contains the authenticated user.

    console.log(req.user); // Undefined
    if(req.isAuthenticated()) { // false
        console.log('HI');
    }
});
Run Code Online (Sandbox Code Playgroud)

Zek*_*erg 0

无需手动设置用户 cookie,让 Passport 为您完成

req.logIn(user, function(err) {
  if (err) { return next(err); }
  return res.redirect('/users/' + user.username);
});
Run Code Online (Sandbox Code Playgroud)

用这个替换你的 cookie 行。

来源: http: //passportjs.org/guide/authenticate/(请参阅自定义回调部分)