【发布时间】:2018-09-19 21:56:46
【问题描述】:
我在 HTTP 路由中使用 Cro HTTP Authentication/Authorization/Sessions 非常成功。
然后我添加了一条使用Cro::HTTP::Router::WebSocket 创建web-socket 的路由,我可以使用Cro::WebSocket::Client 连接到它,一切正常。
现在我想控制对 websocket 的访问,所以我添加了一个Cro::HTTP::Auth 参数。效果很好。现在客户端按预期获得了401 Unauthorized。
下一步,我该如何开门?
使用Cro::HTTP::Client,我可以传入Authorization 标头,甚至可以传入auth 选项。我如何使用Cro::WebSocket::Client 做到这一点?
我对 WebSocket 很陌生,所以我什至不知道这是否是做这种事情的正确方法,但似乎 Cro::WebSocket::Client connect 方法应该采用 headers 命名选项这会获得额外的标题。
【问题讨论】:
-
我建议在github.com/croservices/cro-websocket 中打开一个关于此的问题。 Cro 团队的反应非常迅速。粗略浏览一下代码,目前似乎无法在初始连接上使用授权标头。
-
在 GitHub 上提出问题:github.com/croservices/cro-websocket/issues/16
-
我没有意识到——看起来已经有一个补丁可以做到这一点:github.com/croservices/cro-websocket/pull/3