Passport.js - 在会话中存储信息

时间:2013-04-16 21:37:03

标签: node.js session express passport.js

我目前有一个mongoose / express / passportjs应用程序,我可以成功登录和退出。但是,只有用户ID存储在会话中。我想存储整个用户对象。

以下是我使用的代码:

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

passport.deserializeUser(function(_id, done) {
  done(null, { _id: _id });
});

效果很好,这就是我尝试序列化整个用户的原因:

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

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

但是,它不会存储任何会话。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

serializeUser中,您需要将整个用户传递给done

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

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