引入依赖
在pom文件中添加如下代码引入依赖
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.4.0</version>
</dependency>
生成令牌
Map<String,Object> map = new HashMap<>();
map.put("id","1");
map.put("username","张三");
// 生成jwt
String token = JWT.create()
//添加载荷
.withClaim("user",map)
//过期时间
.withExpiresAt(new Date(System.currentTimeMillis()+1000*60*60*24))
//指定加密算法并配置密钥
.sign(Algorithm.HMAC256("root"));
// 输出生成的令牌
System.out.println(token);
解析令牌
String Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9." +
"eyJ1c2VyIjp7ImlkIjoiMSIsInVzZXJuYW1lIjoi5byg5LiJIn0sImV4cCI6MTcyNDEzOTAyNH0." +
"GRpk4FEeT0Ku0ZC4fIZSwDl8msgytxa61oq8iSe_Fp8";
//获取一个HMAC256加密算法的解析器,并设置解析密钥
JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256("root")).build();
//使用生成的解析器解析token获得jwt对象
DecodedJWT decodedJWT = jwtVerifier.verify(Token);
//通过解析后的jwt对象中的getClaims获取载荷
Map<String, Claim> claims = decodedJWT.getClaims();
System.out.println(claims.get("user"));