为了账号安全,请及时绑定邮箱和手机立即绑定

WebSocket 和 HTTP 标头

WebSocket 和 HTTP 标头

Go
慕哥6287543 2023-07-04 19:07:48
我试图弄清楚如何在建立 WebSocket 连接后将带有授权令牌的标头添加到该连接中。基本上,使用 cookie 来验证连接中的每条消息。Websockets 客户端 API 中的 HTTP 标头已经有一个很好的讨论,但它并没有真正帮助我。其中一项建议是:document.cookie = 'X-Authorization=' + token + '; path=/';不幸的是,它对我没有帮助。func handler(ws *websocket.Conn, h *Hub) {    go h.run()    h.addClientChan <- ws    for {        config := ws.Config()        fmt.Println("Headers length:", len(config.Header))        ...在添加 cookie 之前和之后显示包含 0 个元素的地图。建立连接后是否可以更改 WebSocket 连接标头?如果我每次都进行身份验证,我是否需要向 WebSocket 连接添加授权令牌,或者仅在重新建立连接时有用,而在事后进行无用的检查?
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

建立连接后是否可以更改 WebSocket 连接标头?

您无法在收到 WebSocket 消息时设置 cookie。一旦建立了WebSocket连接,它就是一个开放的TCP套接字,并且协议不再是http,因此没有内置的方式来交换cookie。

您可以在第一个 http 请求上使用授权,双方建立用于交换数据的协议。


查看完整回答
反对 回复 2023-07-04
  • 1 回答
  • 0 关注
  • 228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号