我正在尝试在主要使用WebSockets的应用程序中实现用户身份验证,但我不确定如何开始。
我正在使用Gorilla mux和websocket包。
我已经考虑过使用here描述的方法(文件main.go和auth.go),但这种方法是否可以防止经过身份验证的用户以某种方式劫持彼此的套接字,如this article中所述? / p>
有人可以在Go中建议一个好的方法或包吗?
答案 0 :(得分:3)
在upgrading与WebSocket协议的连接之前,对纯HTTP请求进行身份验证。使用您用于普通HTTP请求的任何方法或包。
可以劫持WebSocket连接,以便可以劫持普通的HTTP连接。 WebSocket协议不会在这里引入任何新问题。
Socket.io是一个高于WebSockets,长轮询和其他技术的层,用于将事件从服务器发送到浏览器客户端。 Socket.io的问题不一定适用于直接使用WebSocket。