问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jwt与token+redis,哪种方案更好用?

发布网友 发布时间:2023-04-13 10:16

我来回答

1个回答

热心网友 时间:2023-10-31 10:59

1.问题描述

jwt与token+redis,哪种方案更好用?

问题结论

刚好最近有项目使用了jwt,而且是定制化的jwt的认证机制,就个人的理解而言,各自有其优缺点,并且针对不同的场景需要进行约束性开发,如用户剔除、同一用户每2h只生成一次jwt等。

2.Token机制简述

2.1Token的用途

用户在登录APP时,APP端会发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果验证成功,就会生成相应位数的字符产作为token存储到服务器中,并且将该token返回给APP端。以后APP再次请求时,凡是需要验证的地方都要带上该token,然后服务器端验证token,成功返回所需要的结果,失败返回错误信息,让用户重新登录。其中,服务器上会给token设置一个有效期,每次APP请求的时候都验证token和有效期。

在存储的时候把token进行对称加密存储,用到的时候再解密。文章最开始提到的签名sign:将请求URL、时间戳、token三者合并,通过算法进行加密处理。

2.2token+redis机制

用户验证通过后,服务端通过如uuid相关的方法,生成token,存储用户信息。当请求服务时,客户端将token带上来,进行查询验证,如token存在并在有限期内,请求有效,否则请求非法。

token+redis机制是中心化的,每次验证token有效性时,都需要访问redis,其核心优点实服务端可以主动让token失效,缺点是每次都要进行redis查询。占用redis存储空间。

2.3jwt机制

这是一种无状态身份验证机制,因为用户状态永远不会保存在服务器内存中。服务器受保护的路由将在授权头中检查有效的JWT,如果存在,则允许用户访问受保护的资源。由于JWT是独立的,所有必要的信息都在那里,减少了多次查询数据库的需求。

Javajwt普遍选用java-jwt工具包依赖,gradle依赖:compile'com.auth0:java-jwt:3.2.0'用户发起登录请求,验证通过后,服务端创建一个加密后的JWT信息,作为Token返回。在后续请求中JWT信息作为请求头,发给服务端。服务端拿到JWT之后进行解密,正确解密表示此次请求合法,验证通过;解密失败说明Token无效或者已过期。

jwt的有点主要有:a.其是去中心化的,便于分布式系统使用;2.基本信息可以直接放在token中。user_id,session_id;3.功能权限信息可以直接放在token中。用bit位表示用户所具有的功能权限。其缺点有:服务端无法主动让token失效,另一个是无法很好的控制payload的数据量。

3.小结

jwt和token+redis两种方案,没有最优,只有结合不同的业务场景,需求最适合的方案。就比如token2h过期,同一用户每1.5h只生成一次token,当两次token并存时,同时有效。大家可以考虑在这两种方案的前提下,分别如何实现?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 趣舍的结构趣舍的结构是什么 如何判断对方是否还爱你? 《曾有天使爱过我》最新txt全集下载 前男友对我很好,什么都迁就我拍了四年了 我忘记一首歌的名字了。只记得有些许的歌词。 是:不要问我是否还爱你(好像是),………………脱缰的马匹 指标前置管理的意义和价值是什么 我还会爱你吗是什么歌 管理前置的作用 税费前置管理什么意思 前置管理方案什么意思 求语文七年级上册第十六课读一读写一写的词语意思啊!!!有加分的 造物者的拼音狐造物者的拼音是什么 造物主的意思造物主的意思是什么 陆游诗词《鹊桥仙·夜闻杜鹃》原文译文赏析 梦见自己走悬崖峭壁的路的预兆 璜溪的解释 sonya7m3充电电压 冰箱里的食物一般放多久就不能吃了 冬狩的读音冬狩的读音是什么 狼和野猪谁更厉害?母野猪如果被狼群咬死,小野猪能存活下来吗? 洞神的拼音狐洞神的拼音是什么 auth0生成的token为什么会出问题 洞屋的拼音狐洞屋的拼音是什么 洞漏的拼音狐洞漏的拼音是什么 汽车的档位旁的AuTH0L0是什么键 洞悟的拼音狐洞悟的拼音是什么 地天拼的拼音狐地天拼的拼音是什么 洞启的拼音狐洞启的拼音是什么 裴时霄阮眠眠的小说叫什么名字 我出轨离婚再次遇见前夫,出轨离婚后有可能复婚吗 IPhone掉水里,怎么办 特别的英文名女 q和l开头的中文名字有哪些 梦见腿上起疙瘩的预兆 梦见腿上长满红疙瘩的预兆 梦见自己大腿上长了好多疙瘩的预兆 财务会计制度备案表怎么填写? 个体户财务会计制度备案怎么填写 人教版小学数学五年级上册《解简易方程》教案三篇 国泰利优30天值得购买么