节点路由护照当前用户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;