使用sails.js访问套接字请求上的会话

时间:2016-02-08 00:23:47

标签: node.js socket.io sails.js

使用io.socket发出客户端请求时,如;

io.socket.post('activity/subscribe')

在sails中的请求对象中没有附加会话信息,导致我的身份验证策略失败。

这不是跨域请求,并且已设置sails.sid cookie。我正在使用redis作为会话存储,对于XHR请求,会话正确填充。

我的理解是,sails处理套接字的集成,以便当请求到达应用程序的路由时,它可以像任何其他请求一样对待吗?

我已经查看了Sails.js authorization for socket requests 中的答案,但由于未定义req.socket.manager,因此失败了。 也许那是旧款帆的版本?我在v0.11.0。

发送帖子请求后,我在控制台中看到以下内容:

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..

1 个答案:

答案 0 :(得分:1)

我们终于弄清楚了......

'活动/订阅' - 没有好处

' /活​​动/订阅' - yay