【发布时间】:2015-07-08 15:53:18
【问题描述】:
我正在使用带有客户端路由的 ReactJS,并尝试使用 Passport 实现 Facebook 登录。一切都很好,除了我不确定如何将我生成的 req.user 传递给我的 React 组件,因为我没有使用 Handlebars 或 Jade。这可能吗?
更新
这是我正在使用的当前代码:
app.use('/', express.static(__dirname + '/public'), function(req, res){
if (req.user){
res.send(req.user);
}
});
app.get('/facebook', passport.authenticate('facebook', { scope : 'email' }));
// handle the callback after facebook has authenticated the user
app.get('/facebook/callback',
passport.authenticate('facebook', {
successRedirect : '/'
}));
我不知道该怎么做是在我的客户端 React 组件中访问 req.user(我通过与 Flux 的会话存储身份验证和用户信息),因为任何文档都显示通过 Jade 加载它或 Handlebars 模板,我都没有使用。有什么想法吗?
【问题讨论】:
-
你能发布你的代码并向我们展示你到目前为止所做的尝试吗?
-
我添加了我的 Express 路线和一些额外的信息,这样你就可以看到我想要做什么。
-
您需要从 Flux 向您的 express 应用程序中定义的路由进行 ajax 调用,该路由返回 req.user 以及您想要的任何其他 JSON。您的 ajax 回调解析 json 并将数据提取到您的反应应用程序中。
-
你能成功登录吗?如果是这样,即使我遇到同样的问题,你也可以分享代码
标签: javascript node.js express reactjs