javascript - 是否在服务器端存储未解码的 jwt token ?

标签 javascript node.js mongodb token jwt

如果这是一个愚蠢的问题,请原谅我。

正如标题所问,服务器端为每个请求解码 token 并不昂贵,存储和查找未解码的 token 不是更好吗? 你会将 session token 存储在 nodejs 对象还是 mongodb 中? Mongodb 将是另一次往返,但您可以使用 _id 轻松查找。(如果我错了,请纠正我,我正在学习,所以建议/资源 = 非常欢迎!)

最佳答案

视情况而定

仅验证签名意味着确保 token 是使用您的 key 生成的。

存储和检查 token 意味着您可以验证 token 是否由您的服务器创建。这样您还可以使单个 token 无效,例如如果用户丢失了他/她的手机,他/她可以使手机失效。

Redis 等键值数据库通常用于此类存储,因为它们非常可以很好地执行这些简单的放置/获取操作,并且每秒可为您提供数十万次操作。

关于javascript - 是否在服务器端存储未解码的 jwt token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32326831/

相关文章:

javascript - 生成一个随机数字序列,然后在 JavaScript 中向该序列附加一个大写字母?

node.js - 使用 Handlebars 访问数组中所有对象的特定元素时出现问题

node.js - 包裹 SemVer 错误

node.js - Mongoose/Express Middleware 在插入时更新引用文档

javascript - 在页面上显示当前月份

javascript - 使用鼠标从 iframe 中选择文本并在 div 中显示选择

javascript - 通过一个按钮提交多个表单

javascript - 使用 mongoose 聚合时,在路径 "xxx"处将值 "_id"转换为 ObjectId 失败

Mongodb 没有从 4.2 正确更新到 4.4

c# - 如何查找和更新数组中的项目(数组中的对象){Accounts[x].Items[y].StatusCode = ...}