JWT(Json Web Token)
用于无法产生cookie的项目(App/微信小程序 )
同时解决了分布式中session共享的问题(登陆信息以非对称加密的形式存在客户端中,只消耗cpu以及网络io,自然解决了分布式session共享)
JWT 规定了7个官方字段,提供使用。
- iss (issuer):发布者
- sub (subject):主题
- iat (Issued At):生成签名的时间
- exp (expiration time):签名过期时间
- aud (audience):观众,相当于接受者
- nbf (Not Before):生效时间
- jti (JWT ID):编号
当然也有现成框架,就不需要自己重新造轮子进行封装了,目前比较流行的jwt框架有两个jjwt 和auth0
以前一直使用的是jjwt框架,后面发现还有有一个项目用的jwt框架是用的auth0,故记录一下如何引入auth0的依赖
<!-- jwt工具 auth0 -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.10.0</version>
</dependency>
使用上也比较方便,这里就不多说了。