我真的很困惑如何使用我的 nodejs 应用程序设置 session 。我正在使用 express + socksjs 并且我无法理解如何将 ws 连接绑定(bind)到特定的用户 session 。
在 sockjs 页面上,他们说不要使用 cookies 进行授权,但是如果我在建立 ws 连接时不从 cookie 发送 session (带有 express 之前设置的 session 的 cookie),我该如何绑定(bind)特定的 ws 连接与特定用户?
我想实现这些简单的目标: - 用户(登录或访客)访问页面并建立ws连接 - 我将连接 ID 和 session 的键值对存储在 Redis 中,因此我知道给定的 ws 连接属于哪个用户
如果在建立 ws 连接后无法从 cookie 发送 session ,该怎么办?即使我想要,cookie 也不可用,因为它是 HttpOnly,因此无法通过 js 读取。
编辑:
this google group post建议我在第一条消息中发送加密的用户详细信息,这听起来不错,但我仍然不确定应该从哪里获取这些详细信息。我总是通过 session 和 cookie 来完成...
最佳答案
你可以看看https://github.com/jfromaniello/passport.socketio .我用过它,上手非常简单。
关于node.js - nodejs + websocket session 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18644610/