如何在socket.io授权过程中读取快速cookie?

时间:2014-09-26 09:45:52

标签: node.js session cookies express socket.io

许多文章(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)。

我很乐意找到解决方案 感谢。

1 个答案:

答案 0 :(得分:1)

我刚刚解决了它。问题确实存在于域名中。您应该将socket.io域更改为localhost而不是127.0.0.1

希望它会帮助别人!