JWTUtil

Introduction

We can use JWT to create JWT objects or JWT strings in a chained manner. Hutool also provides some shortcut methods encapsulated in JWTUtil. It mainly includes:

  • JWT creation
  • JWT parsing
  • JWT verification

Usage

  • JWT creation
Map<String, Object> map = new HashMap<String, Object>() {
 private static final long serialVersionUID = 1L;
 {
 put("uid", Integer.parseInt("123"));
 put("expire_time", System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 15);
 }
};

JWTUtil.createToken(map, "1234".getBytes());
  • JWT parsing
String rightToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9." +
 "eyJzdWIiOiIxMjM0NTY3ODkwIiwiYWRtaW4iOnRydWUsIm5hbWUiOiJsb29seSJ9." +
 "U2aQkC2THYV9L0fTN-yBBI7gmo5xhmvMhATtu8v0zEA";

final JWT jwt = JWTUtil.parseToken(rightToken);

jwt.getHeader(JWTHeader.TYPE);
jwt.getPayload("sub");
  • JWT verification
String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9." +
	"eyJ1c2VyX25hbWUiOiJhZG1pbiIsInNjb3BlIjpbImFsbCJdLCJleHAiOjE2MjQwMDQ4MjIsInVzZXJJZCI6MSwiYXV0aG9yaXRpZXMiOlsiUk9MRV_op5LoibLkuozlj7ciLCJzeXNfbWVudV8xIiwiUk9MRV_op5LoibLkuIDlj7ciLCJzeXNfbWVudV8yIl0sImp0aSI6ImQ0YzVlYjgwLTA5ZTctNGU0ZC1hZTg3LTVkNGI5M2FhNmFiNiIsImNsaWVudF9pZCI6ImhhbmR5LXNob3AifQ." +
	"aixF1eKlAKS_k3ynFnStE7-IRGiD5YaqznvK2xEjBew";

JWTUtil.verify(token, "123456".getBytes());