【发布时间】:2014-04-30 21:32:23
【问题描述】:
我正在尝试向注册会员区的安全 WebSocket 服务器 (wss) 验证客户端。
一旦成员连接到 Web 服务器,我会在数据库中记录一个唯一令牌(与成员相关联),该令牌显示在页面上的隐藏字段中,以启动与 Web Socket 服务器的连接。
然后将令牌发送到使用令牌对帐户进行身份验证的 WebSocket 服务器。
我真的不是安全专家,我希望您对我的身份验证的安全性提出意见。
是否存在任何风险(cookie 劫持除外)?考虑到 WebSocket 没有规定服务器可以在 WebSocket 握手期间对客户端进行身份验证的任何特定方式,有没有更好的方法可以继续。
我使用 Ratchet WebSocket。
【问题讨论】:
-
另见Websocket authentication。我不相信它是重复的,因为它在
WebSocket中询问 HTTP 登录。 -
令牌中有什么?大多数会话/身份验证令牌具有某种时间限制机制(以减轻泄漏的影响),并且可能是一种机制,用户可以使旧令牌无效(例如在更改密码时)。您的令牌是否包括签名的到期时间,或者充当具有类似属性的服务器端状态存储的密钥?
-
SocketCluster 最初使用 cookie 来存储 JWT 令牌,但它已不再使用此功能。你可以在这里阅读原因:github.com/SocketCluster/socketcluster-client/issues/9
标签: security authentication websocket