Mik*_*ike 6 security authentication websocket dart dart-html
我正在尝试建立一个经过身份验证的 websocket 连接,这个问题是服务器部分的类似问题的兄弟。当我从浏览器建立 websocket 连接时,如何添加额外的标头?
我正在尝试使用dart:html的 WebSocket 对象连接到需要authentication:包含当前身份验证令牌 (JWT)的标头来验证用户身份的服务器。问题是 WebSocket 在构造函数调用后立即建立连接,它没有任何参数来发送带有 http 请求的标头:
var ws = new WebSocket('wss://localhost:8080/ws');
Run Code Online (Sandbox Code Playgroud)
在该字符串之后,websocket 连接因错误而关闭,因为我的服务器拒绝所有在该路径的标头中不包含身份验证令牌的请求。
浏览器端是否有其他 websocket 实现可以验证 websocket 连接?
是否有可能为浏览器编写不同的 WebSocket 实现?
我不是安全专家,但是在路径请求中发送令牌而不是标头是否安全?就像是:
wss://localhost:8080/ws?token=BLAHBLAHBLAH
Run Code Online (Sandbox Code Playgroud)
您还必须使用由 websocket 自动发送的 cookie,但您无法自定义通过 WebSocket 请求发送的标头。
您还可以在负载中发送和接收会话令牌。有关更详细的说明,请参阅https://devcenter.heroku.com/articles/websocket-security#authentication-authorization。
| 归档时间: |
|
| 查看次数: |
2499 次 |
| 最近记录: |