简体   繁体   English

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

[英]Passport.js - store information in session

I currently have a mongoose/express/passportjs application that I can successfully log in and out with. 我目前有一个mongoose / express / passportjs应用程序,可以成功登录和注销。 However, only the user ID is stored in the session. 但是,只有用户ID存储在会话中。 I'd like the store the whole user object. 我想要存储整个用户对象。

Here is the code I use: 这是我使用的代码:

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

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

Works great, here is why I tried to serialize the entire user: 效果很好,这就是为什么我尝试序列化整个用户的原因:

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

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

However, it doesn't store any session with that. 但是,它不存储任何会话。

What am I doing wrong? 我究竟做错了什么?

In serializeUser you need to pass in the entire user to done : serializeUser您需要将整个用户传递给done

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM