如何解析socket.io握手cookie

时间:2016-01-21 06:47:34

标签: node.js mongodb socket.io express-session

我正在使用socket.io和快速会话。我正在使用他们的中间件来获取标题中的cookie,例如:

io.use(function(socket, next) {
console.log(socket.handshake.headers.cookie);
next();

}); 把它放到控制台:

io=ELJQk5v7q-jjZ5d_AAAA; connect.sid=s%3A17faf004-46c7-4219-9dac-81853ada8cab.ZzFPL%2BpHY9hNxEMDcLesnGEbuZyU9mOwVBZNEBuHzKA

好的,太棒了!现在我有了cookie,但是如何从中获取信息。我很困惑。

我的会话初始化如下:

app.use(session({ //using express-session
genid: function(req) {
    return uuid.v4();
},
secret: 'operation',
resave: false,
saveUninitialized: true

}));

我在一个简单的解释中进行了广泛的搜索,但我还没找到。我需要使用sessionStore吗?如果是这样的话?我已经尝试了不同的模块,据说这些模块可以设置来处理这个问题,但到目前为止还没有一个模块可以工作。我正在使用MongoDB,所以如果有必要,我不介意将它们存储在那里,但我想避免使用Redis来处理它,就像其他人一样。

1 个答案:

答案 0 :(得分:1)

在寻找这个问题的解决方案的数小时,数小时,数天和数天之后,我终于找到了一个可行的解决方案。如果有人有类似的问题,我会鼓励他们使用express-socket.io-session模块。它真的很棒!它让我免于很多挫折。我尝试的所有其他模块都不起作用,并且比我想要的更复杂。

https://www.npmjs.com/package/express-socket.io-session