2013-06-05 19 views
0

我在routes文件夹中有两个文件 - index.jsapi.jsindex.js只发送带有链接样式,图像和脚本的主模板页面。 api.js管理所有的API调用。req.user在试图从api方法获取时未定义

我正在使用PassportJS实现身份验证。身份验证本身正常工作问题是,出于某种原因,当试图从api.js端点访问req.user时,我得到undefined,但是当它从index.js访问时,它很好并且填充了正确的数据。

例如,我需要从api端点请求时发送所有用户的帖子作为JSON,所以我想获得req.user.id或类似的东西,以向服务器端的数据库发送请求。

配置Passport时我可能会错过什么?

+0

护照通过cookie中的会话ID对用户进行反序列化,也许你不会发送cookie,或者会话出现问题。 – balazs

回答

0

您必须包括护照会话中间件之前所有的路线,因此它可以设置req.user

app.use(express.session({ secret: 'secret' })); 
app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(app.router); 
app.use(myRoutes); 
0

确保你越来越。 _id而不是.id,这是在MongoDB中创建的默认ID。

相关问题