尝试从api方法获取时,req.user未定义

时间:2013-06-05 15:59:21

标签: javascript node.js passport.js

我在routes文件夹中有两个文件 - index.jsapi.jsindex.js仅发送带有链接样式,图像和脚本的主模板页面。 api.js管理所有API调用。

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

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

配置Passport时我可以错过什么?

2 个答案:

答案 0 :(得分:0)

您必须在所有路线之前加入护照的会话中间件,以便设置req.user

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

答案 1 :(得分:0)

确保您收到。 _id 而不是 .id ,这是MongoDB中默认的ID创建。