node.js - nodejs + websocket session 混淆

标签 node.js session express sockjs

我真的很困惑如何使用我的 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/

相关文章:

session - session 超时后的 Backbone Collection.fetch()

javascript - 在网站上创建购物 list 选项,供您在其中写入购物 list

javascript - React 路由器和 Express GET 冲突

Javascript 如何将 Base 64 url​​ 转换为文件?

node.js - 使用 ffmpeg 录制实时音频流的 15 分钟片段

javascript - 通过将包添加到 Node 包管理器 package.json 文件来安装包?

node.js - Redis - 一台机器上的 Node.js?

node.js - 如何将node.js应用程序部署到云服务器

node.js - 每个 axios 请求在 React-Redux 应用程序中都会触发两次?

node.js - 在 React 应用程序之间共享 Node.js 模块?