@Test
void test1() {
Map<String, Object> payload = Map.of(
"username", "admin",
"password", "123456",
"role", "admin",
"date", DateUtil.offsetMinute(DateUtil.date(), 1).getTime()// 过期时间一分钟
);
String token = JWTUtil.createToken(payload, "123456".getBytes());// 创建token,秘钥为123456
System.out.println("token = " + token);
JWT jwt = JWTUtil.parseToken(token);
Object date = jwt.getPayload("date");
System.out.println(DateUtil.date(((Number) date).longValue()));// 打印过期时间
}
@Test
void test2() {
// 解析token
String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNzd29yZCI6IjEyMzQ1NiIsInVzZXJuYW1lIjoiYWRtaW4iLCJyb2xlIjoiYWRtaW4iLCJkYXRlIjoxNzU1ODYwMzgxODU4fQ.WEPrm-QPfxzKhH4ovKagFaRuQOKtChwyD97aAkr3JWU";
JWT jwt = JWTUtil.parseToken(token);
System.out.println(System.currentTimeMillis());
System.out.println(((Number) jwt.getPayload("date")).longValue());
// 判断token是否有效和是否过期
boolean ok = JWTUtil.verify(token, "123456".getBytes())
&& ( ( Number ) jwt.getPayload("date") ).longValue() > System.currentTimeMillis();
System.out.println(ok ? "有效" : "过期");
}
12-02
2280
2280
07-21
4838
4838
10-11
2614
2614

被折叠的 条评论
为什么被折叠?



