Node.js 使用sails.js访问套接字请求上的会话
使用io.socket发出客户端请求时,例如Node.js 使用sails.js访问套接字请求上的会话,node.js,socket.io,sails.js,Node.js,Socket.io,Sails.js,使用io.socket发出客户端请求时,例如 io.socket.post('activity/subscribe') 在sails中没有附加到请求对象的会话信息导致身份验证策略失败 这不是跨域请求,已设置sails.sid cookie。我使用redis作为会话存储,对于XHR请求,会话被正确填充 我的理解是,sails处理套接字的集成,以便当一个请求到达应用程序的路由时,它可以像其他任何请求一样被处理 我已经查看了中的答案,但由于未定义req.socket.manager,因此失败。 也许
io.socket.post('activity/subscribe')
在sails中没有附加到请求对象的会话信息导致身份验证策略失败
这不是跨域请求,已设置sails.sid cookie。我使用redis作为会话存储,对于XHR请求,会话被正确填充
我的理解是,sails处理套接字的集成,以便当一个请求到达应用程序的路由时,它可以像其他任何请求一样被处理
我已经查看了中的答案,但由于未定义req.socket.manager,因此失败。
也许是旧版的帆?v0.11.0中的Am
发送post请求后,我在控制台中看到以下内容:
verbose: Receiving incoming message from Socket.io: { method: 'post',
headers: {},
data: {},
url: 'activity/subscribe' }
verbose: Interpreting socket.io message as virtual request to "post activity/subscribe"...
error: policy error here as no session..
我们终于明白了 “活动/订阅”-不好
“/activity/subscribe”-耶这肯定会奏效!您的控制台中有任何消息吗?@sgress454已更新问题。首次启动Sails时有任何消息吗?试试
扬帆——愚蠢的。另外,我假设您也在使用Redis进行会话?否则,请确保在提升服务器之前关闭指向该站点的所有浏览器选项卡/窗口,否则将导致套接字连接不指向有效会话。