我有一个socket.io应用程序,最近收到此警告:
设置了与 URL 上的跨站点资源关联的cookie 没有
SameSite
属性。 如果将来的Chrome浏览器版本设置为SameSite=None
和Secure
,则仅会发送带有跨站点请求的cookie。您可以在下面的开发人员工具中查看Cookie 应用程序>存储> Cookies,并在以下位置查看更多详细信息 https://www.chromestatus.com/feature/5088147346030592和 https://www.chromestatus.com/feature/5633521622188032。`
显然,Chrome将来会对其进行更新: SameSite warning Chrome 77
我已经尝试过this,但无济于事:io = io.listen(server, { cookie: false });
我认为Cookie没有任何作用,那么如何禁用io来设置它呢?
答案 0 :(得分:0)
根据Socket IO的github存储库中报告的问题,该cookie不用于任何东西;您可以通过在服务器选项中设置cookie: false
来禁用它。
但是您错过的是在初始化套接字时设置{cookie: false}
选项,而不是http.listen
。下面提供的解决方案适用于使用express作为服务器的我。
var server = require('http').createServer(express());
var io = require('socket.io')(server, { path:"/some/path", cookie: false });