jwt验证的思考

本文探讨了JWT(JSON Web Tokens)验证的优势和挑战,包括减轻后端压力、登录踢出机制、安全性考虑以及Remember Me功能的设计。提出了JWT与Session结合使用、密钥管理以及不同场景下的解决方案,强调在安全性和效率之间找到平衡。
摘要由CSDN通过智能技术生成


jwt验证对后端的压力比用session小很多, 毕竟只用对称加密或者hash计算,密钥小可以都存在各台web服务器, 不需要请求redis或者mysql之类的数据库产生io。

[登录踢出]
有时一些应用需要只让一个账号只能在一个浏览器或手机客户端在线,一个手机登录,另一个手机的相同账号需要登录踢出,jwt就比session麻烦一点,不想存数据库需要通知客户端自己删除。
如果客户端出问题没有删除,继续请求,那么应该怎么解决。
简单的解决办法是session和jwt一起用(jwt的refresh token是怎么实现的), jwt设置为5分钟过期,每次请求不续,登录踢出后只有5分钟可用。
还有一种直接在后台管理踢出,一般这种的数据比较少,由每台web服务器存就好了,使用consul配置中心之类的通知进行更新。
或者再简单一点jwt只支持get请求,一般情况下也是get请求居多,一般应该get请求只查询,没大的危害,再严格一点jwt对ip绑定,一个ip请求多的网关会被禁的。更严格一点可以随机几十次请求有一次用session验证。

对于安全有较高要求的应用,jwt是辅助session减少和数据库间的io请求的。
现在流行前后端分离,有时前端要从多个接口取数据再显示到一个界面,进行多次认证的话,jwt效率高很多——多个接口取数据也可以合并,听说阿里有相关的技术

管理后台一般用的人不多,很多也没有前后端分离,对安全的要求也高,只用session就可以了,没有必要为使用新技术而用jwt。

[jwt密钥泄漏]
比如每过一小时自动生成密钥,但这时对session的请求会增加&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值