我正在使用 Node.js 和 WebSocket-Node (WebSocket-Node) 创建 WebService。我需要从 Web 服务器访问 cookie 或会话信息,以将 WebSocket 连接绑定到用户 ID。我知道 cookie 信息是通过 req.cookies 发送的,但我不熟悉访问“connect.sid”cookie 的语法。
谢谢!
通过查看库代码(第 200 行左右):
https://github.com/Worlize/WebSocket-Node/blob/master/lib/WebSocketRequest.js
cookie 似乎是一个具有“名称”和“值”属性的对象数组
所以你可以有这样的功能(未测试):
function getSidFromCookies(cookies) {
var filtered = cookies.filter(function(obj) {
return obj.name == 'connect.sid';
});
return filtered.length > 0 ? filtered[0].value : null;
}
那么你可以这样做:
var connectSid = getSidFromCookies(req.cookies);
connectSid 将是 cookie 值或 null