Node.js:处理多个会话

Node.js: take care of multiple sessions

我正在开发一个非常简单的 Node.js 服务器。用户通过普通 username/password 表单进行身份验证,服务器 - 在检查数据库后 - 授予或拒绝对其他页面的访问权限。

为了跟踪每个用户在做什么,我将生成一个 UUID 以在登录时发送。当客户端向服务器请求或发送任何内容时,它会包含此 UUID,以便服务器知道用户是谁。

问题是关于这些 UUID 的生命周期:

我会做的是使用 JWT。我会要求用户使用用户名和密码登录,然后向他们发出一个 JWT,其中包含用户标识符(用户名或 ID)的有效载荷和一个设置的到期时间,表示允许的最大不活动时间(取决于您的业务逻辑),比如 5 小时。我还可以包含上次注销日期等。

现在,每当用户向您的服务发出请求时,他都会在他的 header 中发送此 JWT,您可以解码该令牌并检查用户是否已注销(令牌上次注销时间小于用户的注销时间)。

您可以跟踪各种事情。

可能还有其他方法,使用会话。