2016-06-13 70 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来保存一些客户端状态以避免数据库抓取。 –

相关问题