我正在尝试在主要使用 WebSockets 的应用程序中实现用户身份验证,但我不确定如何开始。
我正在使用 Gorilla mux 和 websocket 包。
我曾考虑过使用此处描述的方法(文件 main.go 和 auth.go),但是这种方法是否可以防止经过身份验证的用户以某种方式劫持彼此的套接字,就像本文中描述的那样?
有人可以在 Go 中推荐一个好的方法或包吗?
在将连接升级到 WebSocket 协议之前,像对普通 HTTP 请求一样进行身份验证。使用您将用于普通 HTTP 请求的任何方法或包。
WebSocket 连接可以被劫持到普通 HTTP 连接可以被劫持的程度。WebSocket 协议在这里没有引入任何新问题。
Socket.io 是 WebSockets、长轮询和其他技术之上的一层,用于将事件从服务器发送到浏览器客户端。Socket.io 的问题不一定适用于直接使用 WebSocket。