【发布时间】:2015-01-07 16:48:08
【问题描述】:
在 passportjs 序列化和反序列化中,我如何访问浏览器 cookie(我将会话数据存储在持久浏览器 cookie 上)而不是存储在数据库中。
【问题讨论】:
标签: node.js session cookies express passport.js
在 passportjs 序列化和反序列化中,我如何访问浏览器 cookie(我将会话数据存储在持久浏览器 cookie 上)而不是存储在数据库中。
【问题讨论】:
标签: node.js session cookies express passport.js
如果您正确配置了护照中间件,护照会话数据将作为参数传递给方法 passport.deserializeUser。
确保已在 express 中正确设置护照:
app.use(express.cookieParser());
app.use(express.session({ secret: 'your secret phrase' }));
app.use(passport.initialize());
app.use(passport.session());
实现passport.serializeUser 和passport.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 中提供。
【讨论】: