2016-01-21 90 views
0

我正在使用socket.io以及快速會話。我正在使用他們的中間件來獲取標頭中的cookie,如:如何解析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來處理其他人的問題。

回答

1

經過幾小時,幾小時,幾天,幾天尋找解決方案,我終於找到了解決方案,將工作。如果任何人有類似的問題,我會鼓勵他們使用express-socket.io-session模塊。它真的很棒!它使我從很多挫折中解脫出來。我嘗試過的所有其他模塊都不起作用,比我想要的更復雜。

https://www.npmjs.com/package/express-socket.io-session

+0

我知道這發生在一年前,但這只是我正在尋找的信息。謝謝! – JoelParke