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

Authentication in Golang WebSocket application

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

我正在使用 Gorilla mux 和 websocket 包。

我想过使用描述的方法here (files main.go and auth.go), but does this approach secure against authenticated users somehow hijacking each others sockets like described in this article?

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

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

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

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