我正在构建待办事项列表应用,其中多个用户可以登录到同一列表并实时查看项目更新 - Google文档样式。我使用NodeJS,Express,Socket.io进行即时更新,使用client-sessions
NodeJS模块存储cookie以允许用户保持登录状态。
我可以通过呈现Jade模板在Express页面上加载正确的项目,在请求客户端上使用与cookie相关联的项目填充它,方法是在req.session.user
下创建一个包含用户详细信息的cookie。但是,这仅适用于req
来自app.get('/', function(req, res){});
的{{1}}。
但是,当我想通过socket.io直播编辑时,如何确保编辑的项目链接到正确的列表?有没有办法确定套接字客户端在服务器上有什么cookie?
我不想简单地在浏览器上存储具有客户端ID的变量,因为这将是易受攻击的,并且不会利用客户端会话的内置加密。
答案 0 :(得分:1)
client.request将帮助您检索它们。
如果查看客户端会话的代码(client-sessions.js),它会导出解码函数。 session.decode({'cookieName':'name'},cookie_content);