在passport js反序列化中,将会话数据存储在浏览器cookie中

时间:2014-07-25 05:23:25

标签: node.js session cookies express passport.js

在passportjs序列化和反序列化中,如何访问浏览器cookie(我将会话数据存储在持久性浏览器cookie上)而不是存储在数据库中。

1 个答案:

答案 0 :(得分:1)

如果您已正确配置护照中间件,护照会话数据将作为参数传递给方法passport.deserializeUser。

请确保在快递中正确设置了护照:

app.use(express.cookieParser());
app.use(express.session({ secret: 'your secret phrase' }));
app.use(passport.initialize());
app.use(passport.session());

实施passport.serializeUserpassport.deserializeUser

// user contains the user data returned by the authentication strategy
passport.serializeUser(function(user, done) {
  done(null, user);
});
// obj contains the passport session data
passport.deserializeUser(function(obj, done) {
  // Use obj to get user info or include it directly into the request object  
  done(null, obj);
});

用户数据将在req.user

中提供