express - 在Redis中存储JWT token 的标准做法是什么?

标签 express session redis jwt

我是否应该将JWT token 存储为键,并将相应的用户信息存储为Redis中的值,以便在有效的情况下按 token 获取信息
要么
我应该在JWT本身中对用户数据进行编码,而仅将Redis用于存储有效 token 吗?

最佳答案

JWT的全部想法是,无需在每次调用时都访问DB(或Redis),并且用户访问数据将被编码在 token 中。

话说回来,JWT的最大缺点是您不能主动取消或取消验证 token ,唯一的方法是在每个用户调用时检查 token 黑名单,这有点错过了不访问 token 的目的。每次通话时都有DB。

如果需要一种主动取消 token 的方法,一个不错的折衷方法是使用一种快速验证方法,例如,该方法可以基于Bloom Filter,为此可能要使用RedisBloom。

关于express - 在Redis中存储JWT token 的标准做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61437313/

相关文章:

angularjs - 套接字 io 的奇怪 cors 问题

node.js - Express.JS 中使用动态 URL 的 HTTP 身份验证

java - Roller 中的 session 安全违规

php - 如何正确启动和销毁 session ?

node.js - 在中间件 node.js express 框架中设置 header

javascript - 错误 : request entity too large

php - 必须登录两次。 Chrome 和 Opera 的 PHP session 和登录问题

php - 分派(dispatch)的作业保留在内存中,导致内存使用率较高

amazon-web-services - 在 AWS 上使用什么 redis 版本?

mongodb - 复合分片键如何读取数据