节点路由护照当前用户ID

我正在使用的代码从cookie获取当前用户标识,但login的用户确实有另一个用户标识。 我正在为用户使用护照authentication。 我希望user_id是当前的护照用户user_id

当前的代码使用cookie用户ID:

routes.jes

 app.get('/portal', isLoggedIn, function (req, res) { var user_id = req.cookies ? req.cookies.user_id : undefined; Box. find({ user_id: user_id }). sort('-updated_at'). exec(function (err, boxes) { if (err) return next(err); res.render('portal', { user: req.user, boxes: boxes }); }); }); 

我试过改变

 var user_id = req.cookies ? req.cookies.user_id : undefined; 

与例如var user_id = req.user.user_id; ,还有一些其他语法,但没有工作。 我究竟做错了什么?

你在使用会话吗? 如果是,请尝试req.session.user._id

 app.use(session({ secret: 'MySuperSecret', saveUninitialized: true, resave: false, duration: 30 * 60 * 1000, activeDuration: 5 * 60 * 1000 })); 

而当你用req.session用户存储用户objlogin,所以你可以访问任何你喜欢的地方。

 req.session.user = user; 

更新:

其他解决scheme,使用护照时,工作:更改var user_id = req.user.id; var user_id = req.user.user_id;