从WebSocket请求中读取cookie信息

时间:2012-05-15 13:03:09

标签: node.js cookies websocket connect

我正在使用Node.js和WebSocket-Node(WebSocket-Node)来创建WebService。我需要从Web服务器访问cookie或会话信息,以将WebSocket连接绑定到用户ID。我知道cookie信息是通过req.cookies发送的,但是我不熟悉访问“connect.sid”cookie的语法。

谢谢!

1 个答案:

答案 0 :(得分:2)

通过查看库代码(第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