在passportjs序列化和反序列化中,如何访问浏览器cookie(我将会话数据存储在持久性浏览器cookie上)而不是存储在数据库中。
答案 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.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
。