Golang WebSocket 应用程序中的身份验证

3 security authentication go websocket gorilla

我正在尝试在主要使用 WebSockets 的应用程序中实现用户身份验证,但我不确定如何开始。

我正在使用 Gorilla mux 和 websocket 包。

我已经考虑过使用这里描述的方法(文件 main.go 和 auth.go),但是这种方法是否可以防止经过身份验证的用户以某种方式劫持彼此的套接字,如本文所述

有人可以在 Go 中提出一个好的方法或包吗?

Cer*_*món 5

连接升级到 WebSocket 协议之前,像对普通 HTTP 请求一样进行身份验证。使用您将用于普通 HTTP 请求的任何方法或包。

WebSocket 连接可以被劫持到可以劫持普通 HTTP 连接的程度。WebSocket 协议在这里没有引入任何新问题。

Socket.io 是 WebSockets、长轮询和其他用于从服务器向浏览器客户端发送事件的技术之上的一层。Socket.io 的问题不一定适用于直接使用 WebSocket。