public class MyTest
{
private String signature = "corgi";
@Test
public void creatJWT()
{
//用来构建JWT对象
JwtBuilder jwtBuilder = Jwts.builder();
String jwtToken = jwtBuilder
//head
.setHeaderParam("typ", "jwt")
.setHeaderParam("alg", "HS256")
//payload
.claim("uid", "1")
.claim("pass", "1")
.setSubject("corgi")
//有效时常
.setExpiration(new Date(System.currentTimeMillis() + Duration.ofDays(1).toMillis()))
.setId(UUID.randomUUID().toString())
//签名
.signWith(SignatureAlgorithm.HS256, signature)
.compact();
System.out.println(jwtToken);
}
@Test
public void parseJWT()
{
String token = "eyJ0eXAiOiJqd3QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiIxIiwicGFzcyI6IjEiLCJzdWIiOiJjb3JnaSIsImV4cCI6MTY0Nzc0MjMxMywianRpIjoiODNhOGI4ZjAtNjZjYy00MjQ5LWI0NzItMjhhNDdlZGE2MTZiIn0.tBy2vqc7DHkFFxbEFPw1JXSzhCYW7931IBlDfxwYzAs";
JwtParser jwtParser = Jwts.parser();
Jws<Claims> claimsJwt =
jwtParser.setSigningKey(signature).parseClaimsJws(token);
Claims claims = claimsJwt.getBody();
String uid = (String) claims.get("uid");
String pass = (String) claims.get("pass");
System.out.println(uid+","+pass);
}
}