max*_*dev 8 javascript php web-services websocket node.js
我找到了一个简单的解决方案,使用WebSocket和Web应用程序的自定义标头,基于PHP作为后端,js + vuejs作为前端.
我的应用程序应该连接到基于Java的WebSocket服务器以获取实时统计信息.受Oauth2保护的WebSocket服务器.所以我的应用程序应该添加标题
"授权:持票人647d14-b132-41b9-aa4c-9eafad5d9630"
连接到WS服务器时.但我无法添加此标头,因为浏览器不支持自定义标头.回答关于Websockets客户端API中自定义标头HTTP标头的问题
我需要类似下面的代码
var serverWs = "ws://servername/stat"; var opts = { reconnection: false, transports: ['websocket'], extraHeaders: { 'Authorization': 'Bearer xxxx' } } var ws = new WebSocket(serverWs, opts);
Run Code Online (Sandbox Code Playgroud)
有什么解决方案?
Websocket 客户端 API 不允许发送自定义标头,它们允许您仅设置一个标头,即 Sec-WebSocket-Protocol,即应用程序特定的子协议。您可以使用此标头来传递不记名令牌。
其他选项是在查询字符串中使用标记。
或者您可以在客户端或服务器上使用一些支持自定义标头实现的库,例如。 https://github.com/crossbario/autobahn-python/tree/master/examples/twisted/websocket/echo_httpheaders
| 归档时间: |
|
| 查看次数: |
3904 次 |
| 最近记录: |