4

我真的很困惑如何使用我的 nodejs 应用程序设置会话。我正在使用 express + socksjs,但我无法理解如何将 ws 连接绑定到特定的用户会话。

在 sockjs 页面上,他们说不要使用 cookie 进行授权,但是如果我在建立 ws 连接时不从 cookie 发送会话(早先通过 express 设置会话的 cookie),我如何将该特定 ws 连接与特定用户绑定?

我想实现这些简单的目标: - 用户(登录或访客)访问页面并建立 ws 连接 - 我将连接 ID 和会话的键值对存储在 redis 中,因此我知道给定 ws 连接属于哪个用户

如果在建立 ws 连接后无法从 cookie 发送会话,该怎么办?即使我想要,由于是 HttpOnly,cookie 不可用,因此无法通过 js 读取。

编辑:

这个 google group post建议我在第一条消息中发送加密的用户详细信息,这听起来不错,但我仍然不确定我应该从哪里获取这些详细信息。我一直是通过会话和 cookie 来完成的……

4

2 回答 2

0

For session restoring Cookies are used in most cases. SockJS does allow use of cookies, but just using raw cookies without any other security practices - is a bit scary, especially if your SockJS is on another domain and cookies will have uncertain Origin scope.

Consider using Token method for authentication.

If you really need to use cookies please read this, all reasoning is there, and I wont just duplicate already explained situation: https://github.com/sockjs/sockjs-node/pull/29#issuecomment-2733120

于 2014-07-03T12:55:16.857 回答
0

您可以查看https://github.com/jfromaniello/passport.socketio。我已经使用了它,并且开始使用它非常简单。

于 2013-12-04T01:57:50.543 回答