我正在使用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来处理它,就像其他人一样。
答案 0 :(得分:1)
在寻找这个问题的解决方案的数小时,数小时,数天和数天之后,我终于找到了一个可行的解决方案。如果有人有类似的问题,我会鼓励他们使用express-socket.io-session模块。它真的很棒!它让我免于很多挫折。我尝试的所有其他模块都不起作用,并且比我想要的更复杂。