我正在考虑通过websocket进行用户身份验证,我不知道这样做是否是最好的主意。当然,我将使用SSL和类似的CHAP。
考虑一下:
- 服务器( S )与用户列表及其密码建立了数据库连接。
- 客户端( C )正在使用Websocket建立与 S 的连接,并从中接收随机字符串(“ challange”)(如果 C 不在阻止列表中-稍后再讨论。)
- C 是单向哈希[challange + username],并将哈希,用户名和密码发送到 S 。
- S 也是单向散列[challange + username],如果可以,请检查给定的用户名和密码在数据库中是否有效
- 如果验证有效 S ,则将OK信号发送给 C
- 如果无效,请在短时间内将 C 用户名/ ip放在阻止列表中,并发送未经授权的信息
要做这样的事情,将它与JWT结合起来还是建立安全连接是值得的,我应该放弃这种通信方式并寻找其他选择吗?