jojo老师,jwt发给客户端了,后端有什么方案主动让这个jwt失效吗?
来源:6-7 jwt改造总结
jutuco
2020-04-23
看了网上的一些建议如:
- 把要失效的jwt的jti加到redis黑名单,每次请求后端去redis查
- 把jwt签名的secret做成与用户一一对应,并把secret持久化,每次验签名就去查这个secret,要让某个用户jwt失效,就改变这个用户的secret
- 在jwt中扩展version信息,version持久化与并用户一一对应,每次验jwt同时比较version,要让jwt失效就改version
感觉这些办法直接或间接依赖了外部状态,跟session方式把session存储到redis里差不多,请问生产中改如何选择呢?另看了下有赞的小程序使用的是每次请求携带sessionid参数的方式,没有采用jwt是有某些限制吗?谢谢~
写回答
1回答
-
JoJo
2020-04-29
使用jwt的目的就是避免后端统一管理token,如果想后端可以管理所有的token,一开始就不要用jwt。
搞明白自己的需求,然后选用相应的技术方案,而不是先选个技术方案,然后根据需求去硬改技术方案。关系搞反了。
小程序我记得是不支持cookie的。所以只能在请求里直接带参数。
00
相似问题