0
我正在使用護照進行授權,我正在使用'connect-mongo-session'模塊將會話保存在mongodb中。我注意到,在嘗試登錄後,req.user對象變得未定義之後,儘管session對象存在於數據庫中,並且req對象中存在通行證和會話詳細信息。這裏是我的會話設置:護照的'req.user'有時變得不明確
let store;
if(env === "development")
store = new MongoDBStore({ //Allows session to be stored and retreived even when server restarts.
uri: config.db,
collection: 'mySessions'
})
else {
store = new MongoDBStore({ //Allows session to be stored and retreived even when server restarts.
uri: config.db,
collection: 'Cosmos'
})
}
app.use(session({
store: store,
saveUninitialized: true,
resave: true,
secret: config.app.sessionSecret
}));
app.use(passport.initialize());
app.use(passport.session());
這裏是代碼負責序列化和:
passport.serializeUser((user, done) => {
done(null, user.id);
});
// Use Passport's 'deserializeUser' method to load the user document
passport.deserializeUser((id, done) => {
User.findOne({
_id: id
}, '-password -salt', (err, user) => {
done(err, user);
});
});