Node.js,Socket.io从子域访问cookie数据

时间:2013-05-26 17:51:21

标签: php node.js socket.io

我有一个使用socket.io连接到node.js的php文件。

我需要获取cookie并使用其中的数据来创建我必须发回的响应。 现在问题是我的PHP应用程序在 localhost / subdomain ,而我在localhost:8124运行服务器。

因此,当我使用socket.handshake.headers.cookie时,它会返回存储在 localhost 而不是 localhost / subdomain 的Cookie,因此我只能 phpsessid 而不是cookie数据。

我该怎么办?

2 个答案:

答案 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'})