提问者:小点点

使用JWT进行Socket.IO身份验证


最近,我开始在工作中学习Socket.io,并了解了发出事件和监听事件的一般概念。目前,我正在用node.js,Express和socket.io构建一个简单的聊天应用程序,我想在应用程序中添加身份验证,以便在页面刷新时保存数据并保留连接。

我读了很多关于基于令牌的身份验证和基于cookie的身份验证的文章,我明白在大多数情况下,使用基于令牌的身份验证策略更好。

我找到了许多关于这个主题的npm包,这些包帮助验证请求,但是我找不到一种简单的实现方法来进行简单的验证。

我的问题是:用套接字实现身份验证的最佳/正确方式是什么?

如果你们能帮我解决这个问题,我会非常感激的。


共1个答案

匿名用户

当客户端连接到服务器时,要求使用令牌向服务器发送“身份验证”事件,如果用户在5秒内没有发送此事件,则断开它们的连接,如果令牌无效,则断开它们的连接,只有当它们拥有有效的访问令牌时,才允许它们保持连接。

还要确保他们每次向服务器发出请求时都发送此令牌&;验证它,不是百分之百的必要,因为如果没有有效的令牌,他们将无法在第一时间连接,但这不会有什么坏处。