小言_互联网的博客

JWT最大的优势场景

299人阅读  评论(0)

最近工作中有接触到jwt。谈谈我对jwt的理解吧,有失偏颇的地方也希望哪位看客大牛指正。

优势

使用jwt最能体现优势的地方就在于多个微服务之间的通信,然后在这些个微服务里设立一个鉴权中心也就是认证服务,而且jwt的签证部分生成方式采用不对称加密算法(RSA等)时候。

只要鉴权中心颁布token。其他微服务之间就会用公钥去解密这个token的签证部分,只要解的开(这个说法暂存疑),就说明一定是鉴权中心里颁发的,得到认证的,就给予token里载荷部分携带的相应的权限访问。就解决了微服务之间的认证鉴权。

举个例子
拿古代行军打仗来说:鉴权中心(认证服务)就相当于朝廷。各个服务就相当于在外打仗的各个将军。此时jwt就相当于朝廷给将军颁布的一套信物,里面有圣旨(jwt载荷)和一半虎符(jwt签证),情景需要:圣旨跟虎符不能拆分且涂改了圣旨就这一套都失效。然后这个圣旨里写:将军张飞可以从其他将军那里调取5万人马(相当于jwt载荷里面认证的用户所拥有的权限比如可以向资产服务B查询所有资产),然后张飞拿着这个圣旨也要辨别真假,虎符的作用就在此,我们就认为虎符的阴面是朝廷颁发(相当于私钥加密的签证),阳面(相当于公钥)每个将军都有。张飞就掏出自己的阳面虎符一和(服务里用公钥进行签证的认证解析)。恩,符合(能解开且验证通过)!大哥对我真好!就找关羽去了。到了之后说:二哥,我要调走你5万人。关羽就要看这个圣旨:哦,你要五万人啊。那么关羽就确认这一套东西是不是你小子糊弄我的啊,就掏出自己的虎符跟这个一对。嗯,符合!果然是大哥颁发的。难受啊,马飞。不对,难受啊,张飞。。就给了张飞5万人了。

小存疑?待更
那事实上。我们可不可以获取到一个jwt然后篡改其载荷部分。再继续发送给我们要访问的服务达到目的?用此以验证:
①是我只要能用公钥能解开你这个jwt的签证部分,就说明验证通过给予权限?
②还是我用公钥解开了jwt里的签证。还需要拿你解开的跟载荷跟此时jwt的载荷进行对比有没有被篡改,确认之后才给通过?


转载:https://blog.csdn.net/qq_42751390/article/details/101599212
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场