【发布时间】:2017-10-16 12:34:13
【问题描述】:
我正在使用express-socket.io-session 模块来处理会话,我有点不喜欢使用 ajax 并为其制作 REST API,因此对于登录身份验证系统,我使用了 Socket.io。客户端向 Socket.io 发送用户名和密码(加密)并检查用户是否通过验证。如果是,则将用户变量添加到socket.handshake.session,这相当于数据库返回的内容。
所以当我比较 socket.handshake.session.user 和 req.session.user 时,有很大的不同,就像这样 -
Socket Session 返回 -
{ _id: 'Some-random-id',
email: 'some-random-email',
password: 'random-pass',
__v: 0,
payments: [],
accounts: [],
registeredOn: 2017-05-17T07:08:58.999Z }
Express Session 返回 -
Session {
cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true } }
我不知道为什么它没有更新 req.session.user,感谢任何帮助。
【问题讨论】:
-
你应该检查this。
-
没用,我已经在共享会话,但问题是会话更新到 socket.io 会话而不是 req.session 变量
标签: javascript node.js session express socket.io