最近,我开始在工作中学习Socket.io,并了解了发出事件和监听事件的一般概念。目前,我正在用node.js,Express和socket.io构建一个简单的聊天应用程序,我想在应用程序中添加身份验证,以便在页面刷新时保存数据并保留连接。
我读了很多关于基于令牌的身份验证和基于cookie的身份验证的文章,我明白在大多数情况下,使用基于令牌的身份验证策略更好。
我找到了许多关于这个主题的npm包,这些包帮助验证请求,但是我找不到一种简单的实现方法来进行简单的验证。
我的问题是:用套接字实现身份验证的最佳/正确方式是什么?
如果你们能帮我解决这个问题,我会非常感激的。
当客户端连接到服务器时,要求使用令牌向服务器发送“身份验证”事件,如果用户在5秒内没有发送此事件,则断开它们的连接,如果令牌无效,则断开它们的连接,只有当它们拥有有效的访问令牌时,才允许它们保持连接。
还要确保他们每次向服务器发出请求时都发送此令牌&;验证它,不是百分之百的必要,因为如果没有有效的令牌,他们将无法在第一时间连接,但这不会有什么坏处。