维护已登录用户会话的最佳方法。哪种方法最有效

时间:2020-07-25 12:21:34

标签: node.js mongodb authentication jwt express-session

实施身份验证时,维护会话的最佳方法是什么。因此,我想知道以下两者之间的最佳方法:

  1. 基于会话的身份验证:服务器在用户登录后创建一个会话,并将该会话使用TTL(例如:10分钟)存储在该用户的DB中。经过身份验证的用户连续发出请求,将在客户端的标头中发送cookie,然后服务器在DB和客户端(保持活动会话)验证并更新该cookie的TTL值。

  2. 基于JWT的身份验证:作为响应,登录用户send的JWT令牌。客户端将令牌存储在localStorage中,并将令牌发送到标头中以进行请求。该用户的JWT以TTL值(10分钟)存储在数据库中。经过身份验证的用户连续发出请求,将在客户端的标头中发送令牌(从本地存储中提取),然后服务器验证并更新DB中该令牌的TTL值(保持活动会话)。

因此,在这种方法中,我不必使用Redis,将令牌列入黑名单,刷新令牌等。

如果对此问题的陈述有更好的解决方法,请提供您的意见。

注意:后端是水平缩放的。后端使用的技术堆栈是Node.js和MongoDB。

任何帮助,将不胜感激。预先感谢。

0 个答案:

没有答案
相关问题