2014-09-26 86 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