【发布时间】:2023-12-03 19:10:02
【问题描述】:
我想连接到 websocket 服务器,但端点是经过 Kerberos 认证的。我有一个能够对 Kerberos 请求进行身份验证的库,并且我还有一个 http.Client 包装器,它对通过它发送到任何端点的所有请求进行身份验证。
我的工具似乎都不适用于 gorilla/websocket。我尝试了一些方法,包括发送经过身份验证的 GET 请求,然后将响应标头传递到 websocket.DefaultDialer.Dial(),但这不起作用,因为实际的握手请求本身没有经过身份验证。
因此,我很困惑。有没有人知道如何做到这一点?
【问题讨论】:
-
什么特别不适用于 Gorilla 包。使用 Gorilla 包,应用程序可以创建底层网络连接、设置握手请求头和访问握手响应头。
-
嗨 Cerise,Dial() 将 http.Header 作为初始升级请求的标头传递,对吗?我的问题是 websocket 服务器是 Kerberos 认证的。我需要对升级请求本身进行身份验证。
-
使用 Gorilla 我认为您可以添加到传递给 websocket.Upgrade() 的标头中。
-
@pure_Redwood 您可以控制网络连接和标头。您还需要什么身份验证?
标签: http go websocket kerberos gorilla