什么是JWT
json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
准备
新建一个maven工程,并创建一个模块(springboot工程),并在pom文件添加JWT的依赖
io.jsonwebtoken
jjwt-api
${jjwt.version}
io.jsonwebtoken
jjwt-impl
${jjwt.version}
runtime
io.jsonwebtoken
jjwt-jackson
${jjwt.version}
runtime
使用流程
创建公钥密钥
public int KEY_SIZE = 2048;
public String ALGORITHM = "RSA";
public long TTL_MILLIS_ACCESS = 30 * 60 * 1000L; //30分钟
public long TTL_MILLIS_REFRESH = 7 * 24 * 60 * 60 * 1000L; //一周
public String RSA_PUBLIC = "_rsa_public";
public String RSA_PRIVATE = "