我有一个使用socket.io连接到node.js的php文件。
我需要获取cookie并使用其中的数据来创建我必须发回的响应。 现在问题是我的PHP应用程序在 localhost / subdomain ,而我在localhost:8124运行服务器。
因此,当我使用socket.handshake.headers.cookie
时,它会返回存储在 localhost 而不是 localhost / subdomain 的Cookie,因此我只能 phpsessid 而不是cookie数据。
我该怎么办?
答案 0 :(得分:1)
已解决!!只需在php中设置cookie路径“/”!然后它在整个领域都可用!!保留socket.io和node.js脚本!!
答案 1 :(得分:0)
设置域属性对我有帮助:https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
我的子域格式为 subdomain.domain.com
res.cookie('token', token, {domain: 'domain.com', httpOnly: true, secure: true, maxAge: 100000, sameSite: 'None'})