2016-06-13 69 views
0

我希望能夠修改用戶的cookie服務器端以響應來自客戶端的套接字事件。Node/Socket.io - 使用套接字時設置cookie服務器端

在請求 - 響應週期中模仿cookie的放置。像這樣:

res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true }); 

但是,由於我使用套接字,我假設響應對象不能以相同的方式使用。

問:

什麼是設置/使用socket.io時更新服務器端的cookie標準的方式?

回答

0

我認爲最接近「標準」的東西實際上是「最佳實踐」,可能來自圖書館的author。另外,根據你的帖子,目前還不清楚你是否打算在套接字交互的中途修改cookie,或者剛開始設置。如果不重建連接,我認爲前者是不可能的。考慮到這一點,您可以在「握手」階段通過套接字設置cookie。至於socket.io v1,最好使用如下這樣的中間件:

io.use(function(socket, next) { 

    // cookie information is contained here: socket.request 
    // manipulate it as you see fit 

    next(); 
}); 

我希望有幫助。

+0

從我所有的搜索你可能是正確的握手階段是唯一的地方。我希望由於請求對象和cookie仍然可以通過socket.io訪問,所以它也可能訪問響應對象,或者至少可以修改響應頭。慚愧,我喜歡使用cookie來保存一些客戶端狀態以避免數據庫抓取。 –

相關問題