gpt4 book ai didi

javascript - 使用 Reactjs 将 Express req 和 res 数据传递给客户端

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:36 25 4
gpt4 key购买 nike

我正在将 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 session 存储身份验证和用户信息),因为任何文档都显示通过 Jade 或 Handlebars 模板加载它,而我没有使用这两个模板。有什么想法吗?

最佳答案

您为什么要将整个 req.user 暴露给客户端?使用 session 的想法是从客户端完全删除该数据,因为客户端始终被假定为不安全的主机。因此,用户数据和 session 之间的映射是通过客户端安装的cookies的sessionId完成的。

过去,我需要客户端在登录后知道其用户名,但仅此而已。我通过在客户端中放置一个具有该值的 cookie 解决了这个问题。这对您来说是可行的方法吗?也就是说,选择客户端需要知道的数据(而不是传递整个用户对象)并将其放入 cookie 本身中?

关于javascript - 使用 Reactjs 将 Express req 和 res 数据传递给客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com