gpt4 book ai didi

security - 在 Dart 中从浏览器向 websocket 连接添加额外的 header

转载 作者:行者123 更新时间:2023-12-02 19:23:34 25 4
gpt4 key购买 nike

我正在尝试建立一个经过身份验证的 websocket 连接,这个问题是 similar question for server part 的兄弟问题。 。当我从浏览器建立 websocket 连接时,如何添加额外的 header ?

我正在尝试使用dart:html的 WebSocket 对象连接到需要 header 的服务器 authentication:包含当前身份验证 token (JWT) 以对用户进行身份验证。问题是 WebSocket 在调用构造函数后立即建立连接,该构造函数没有任何参数来通过 http 请求发送 header :

var ws = new WebSocket('wss://localhost:8080/ws');

在该字符串之后,websocket 连接将关闭并出现错误,因为我的服务器拒绝该路径 header 中不包含身份验证 token 的所有请求。

浏览器端是否有其他允许验证 Websocket 连接的 Websocket 实现?

是否有可能为浏览器编写不同的 WebSocket 实现?

我不是安全专家,但是在路径请求中发送 token 而不是 header 是否安全?像这样的东西:

wss://localhost:8080/ws?token=BLAHBLAHBLAH

最佳答案

您还必须使用由 websocket 自动发送的 cookie,但您无法自定义通过 WebSocket 请求发送的 header 。

您还可以在负载中发送和接收 session token 。请参阅https://devcenter.heroku.com/articles/websocket-security#authentication-authorization以获得更详细的解释。

关于security - 在 Dart 中从浏览器向 websocket 连接添加额外的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30456022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com