【问题标题】:Session lost with passport.js使用passport.js 丢失会话
【发布时间】:2013-10-21 04:41:22
【问题描述】:

我设法使用 passport.js 登录

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

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

    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');
    }
});

【问题讨论】:

    标签: node.js express passport.js


    【解决方案1】:

    不用手动设置用户cookie,让passport为你做吧

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

    用这个替换你的 cookie 行。

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

    【讨论】:

      【解决方案2】:

      您是否按照文档中的说明进行操作,尝试(如果尚未完成)

      passport.serializeUser(function(user, done) {
          done(null, user);
      });
      passport.deserializeUser(function(user, done) {
          done(null, user);
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-21
        • 1970-01-01
        • 2014-12-10
        • 2013-03-27
        • 2015-04-18
        • 1970-01-01
        • 1970-01-01
        • 2013-02-12
        相关资源
        最近更新 更多