我試圖弄清楚如何在建立 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 請求上使用授權,雙方建立用于交換數據的協議。
- 1 回答
- 0 關注
- 214 瀏覽
添加回答
舉報
0/150
提交
取消