req.user 是不是传递给客户端?

Posted

技术标签:

【中文标题】req.user 是不是传递给客户端?【英文标题】:Is the req.user passed to the client?req.user 是否传递给客户端? 【发布时间】:2015-08-08 13:41:28 【问题描述】:

我正在使用 node.js、express、express-session 和 passport.js 来处理我的项目中的身份验证。在我的 routes.js 中,我处理这样的获取请求:

app.get('...', isLoggedIn, function(req, res, next) 
    var user = req.user;
    ...
);

在函数内部,我可以从请求参数中获取用户。我的问题是用户对象来自哪里?用户对象是否传递给客户端并返回?客户端可以更改用户对象以尝试将代码注入我的数据库吗?

提前致谢!

【问题讨论】:

一些关于req.user来自哪里的基本信息可以在Passport.js docs找到。 虽然您的问题已经得到解答,但我建议使用 Wireshark 等数据包嗅探器来全面了解您的浏览器和应用程序之间的关系。 【参考方案1】:

req.user 在创建会话时初始化。 req.user 等于存储在会话中的对象用户。观看 this 视频,了解有关 node.js 中身份验证的更多信息。不,客户端无法通过它与您的数据库交互。

【讨论】:

以上是关于req.user 是不是传递给客户端?的主要内容,如果未能解决你的问题,请参考以下文章

将 req.user 传递给 graphQL

使用客户端集成将变量 Amount 传递给 Smart PayPal 按钮是不是安全?

Passport.js、会话和反应 |从 /login 路由以外的任何路由访问 req.user 是未定义的

传递子文档以查看

尝试使用通过EJS传递给客户端的数据绘制多个Google Map标记/信息窗口时,initMap()不是一个函数

Socket.io 将数组传递给客户端