聊聊认证模块之 JWT研究和keytool使用

JWT介绍

在介绍JWT之前先看一下传统校验令牌的方法,如下图:

问题:传统的令牌不携带用户的身份信息,只是通过令牌,进入服务获取用户信息,不是直接存储用户信息。性能比较低。

JWT令牌的思路

使用JWT的思路是,用户认证通过会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信息,客户端只需要携带 JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验,无需每次都请求认证服务完成授权。

 

总结结合上面的流程图发现,有了JWT,用户信息也存在里面,资服务也就不需要通过认证服务,获取用户信息校验用户,直接在资源服务校验用户令牌即可

 

什么是JWT?

JSON Web Token(JWT)它定义了一种简介的、自包含的协议格式,用于 在通信双方传递json对象,传递的信息经过数字签名可以被验证和信任。JWT可以使用HMAC算法或使用RSA的公 钥/私钥对来签名,防止被篡改。

JWT令牌的优点:

1、jwt基于json,非常方便解析

2、可以在令牌中自定义丰富的内容,易扩展。

3、通过非对称加密算法及数字签名技术,JWT防止篡改,安全性高。

4、资源服务使用JWT可不依赖认证服务即可完成授权。

JWT令牌的缺点:

1、JWT令牌较长,占存储空间比较大。

 

 

JWT令牌结构

JWT令牌由三部分组成,每部分中间使用点(.)分隔,比如:xxxxx.yyyyy.zzzzz

1、Header

头部包括令牌的类型(即JWT)及使用的哈希算法(如HMAC SHA256或RSA)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

越来越没意思

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值