许多文章(here's one)展示了如何利用authorization
事件来提取快递会话的Cookie:
io.set('authorization', function(data, accept) {
if (!data.headers.cookie) {
return accept('No cookie transmitted.', false);
}
else {
// extract the signed cookie..
}
我打印了data.headers
,但没有cookie
属性。
我已检查过Cookie(通过Chrome开发者工具),connect.sid
域名为localhost
,而io
域名为127.0.0.1
。也许问题存在,但我不确定如何改变它。
另一个方面是,快递cookie由服务器A(使用端口3000)使用,而socket.io cookie由服务器B使用(使用端口4000)。
我很乐意找到解决方案 感谢。
答案 0 :(得分:1)
我刚刚解决了它。问题确实存在于域名中。您应该将socket.io
域更改为localhost
而不是127.0.0.1
。
希望它会帮助别人!