2014-09-26 53 views
0

许多文章(here's one)展示了如何利用authorization事件提取快件会话cookie的:如何在socket.io授权过程中读取express 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域名是localhostio域名是127.0.0.1。也许问题在那里,但我不知道如何改变它。

另一方面,服务器A(端口3000)使用快速cookie,服务器B使用socket.io cookie(端口4000)。

我很乐意提供解决方案。
谢谢。

回答

1

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

希望它能帮助别人!

+0

我知道这是旧的 - 但我几天来一直在类似的问题挣扎,并且将IP切换到域也为我修复。非常感谢! – 2016-01-14 15:38:20