hutool工具生成jwt使用示例

需求说明

  • 指定签名算法和密钥
  • 指定payload
  • 指定颁发时间和过期时间

定义密钥

byte[] key = "book".getBytes(StandardCharsets.UTF_8);

生成token

DateTime signTime = DateUtil.date();
        String token = JWT.create()
                .setIssuedAt(signTime)
                .setExpiresAt(DateTime.of(LocalDateTimeUtil.of(signTime).plusMinutes(1)
                        .atZone(ZoneId.systemDefault())
                        .toInstant()
                        .toEpochMilli()))
                .setPayload("userId", userInfo.getUserId())
                .setPayload("bookStoreId", bookStoreId)
                .setKey(key)
                .setSigner("HS256", key)
                .sign();

验证

boolean validate = JWT.of(key)
                .setKey("book".getBytes(StandardCharsets.UTF_8))
                .validate(0);