10年 Java程序员,硬核人生!勇往直前,永不退缩!

欢迎围观我的git:https://github.com/R1310328554/spring_security_learn 寻找志同道合的有志于研究技术的朋友,关注本人微信公众号: 觉醒的码农,或Q群 165874185

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

测试发现,只有 一个 alg 是必填的, 其他都是可选的! 可能是有默认值! 修改HEADER 丝毫不会影响 PAYLOAD,反之亦然!! 就是说 HEADER PAYLOAD 相互独立!!

 
alg: 有很多可选,但是不能随便qwer这样
iat: issued at, 只要是数字就可以, 随便填不会报错!
sub: 本意为主题,也是可选的
 
规范编码
对应Claims属性
iss
issuer
用户,JWT的签发者
sub
subject
主题,值为这个JWT的主题,入登录用户信息认证
aud
audience
受众群体,记录JWT的接受者
exp
expiration
JWT的过期时间
nbf
notBefore
时间,表示JWT在这个时间之前是不可用的
iat
issuedAt
JWT的签发时间
jti
id
JWT的ID,唯一标识
 
对于 RS 算法, payload 的admin 只能是 true false, 也就是说是 boolean
 
HEADER: 就是 ALGORITHM & TOKEN TYPE
PAYLOAD: 就是 DATA
SIGNATURE 就是专门VERIFY 用的
 
claim 是 设置 PAYLOAD 用的。 因此setPayload setClaims 不能同时设置!!
setSubject setAudience setNotBefore setIssuedAt setId setExpiration setIssuer 其实都是在 设置 claim
HEADER PAYLOAD 部分 还可以 随意设置 自定义的 属性字段, 但是 意义恐怕不大!

 

 

 

 

posted on 2021-01-30 20:46  CanntBelieve  阅读(237)  评论(0编辑  收藏  举报