题
我想在cookie中设置一些用户信息,并能够在连接上访问它,这可能吗?
解决方案
client.request.headers.cookie
导致比赛条件,因为cookie总是指向最后登录的用户。
请参见: socket.io身份验证.
其他提示
我明白了,这有效:
client.request.headers.cookie
查看引擎后。IO源代码后,您可以使用以下方式设置cookie:
var io = require('socket.io')(3000);
io.use((socket, next) => {
socket.conn.transport.once('headers', (headers) => {
headers['set-cookie'] ="sess=test;"; });
next();
});
该代码可能与设置SID cookie的Engine.io代码相抵触。由于http/1.1和http/2标头均对案例不敏感,并且在标题对象中使用'set-cookie',添加小写对象名称'set-cookie'将避免此问题。
不隶属于 StackOverflow