Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用JWT进行Socket.io身份验证_Node.js_Socket.io_Jwt - Fatal编程技术网

Node.js 使用JWT进行Socket.io身份验证

Node.js 使用JWT进行Socket.io身份验证,node.js,socket.io,jwt,Node.js,Socket.io,Jwt,最近,我开始在工作中学习socket.io,并了解了发出事件和收听事件的一般概念。目前,我正在使用Node.js、Express和Socket.io构建一个简单的聊天应用程序,我想在我的应用程序中添加身份验证,以便在页面刷新时保存数据并保留连接 我读了很多关于基于令牌的身份验证与基于cookie的身份验证的文章,我知道在大多数情况下,使用基于令牌的身份验证策略更好 我发现很多关于这个主题的npm包都有助于验证请求,但我找不到一种简单的实现方法来实现简单的身份验证 我的问题是:用套接字实现身份验证

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

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

我发现很多关于这个主题的npm包都有助于验证请求,但我找不到一种简单的实现方法来实现简单的身份验证

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


如果你们能帮我解决这个问题,我将不胜感激。

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


还要确保他们在每次向服务器发出请求时发送此令牌并进行验证,这不是100%必要的,因为如果没有有效令牌,他们将无法首先连接,但不会造成伤害。

您的“问题”中没有任何问题。你能清楚地说明你想知道什么吗?也许可以解释或显示一些代码,说明您的身份有多远以及您在哪里被卡住了?我过去使用过Express JWT,它做得很好。@Zlatko我的问题是,使用套接字实现身份验证的最佳/正确方法是什么?@t3_rry如何将此软件包与Socket.io一起使用?@DavidLasry我提供的是用于Express的。看看这个帖子和这个包:谢谢你的回复。您能告诉我如何在我的客户端和服务器上保存令牌吗?我知道我可以将它保存为cookie,但我不完全理解它是如何工作的,我可以实现它。你应该研究JWT令牌。