我是否应该将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/