From b90e92f4cb1d297a6ea7814396e7f6bd86aba765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=BE=E6=96=87=E8=B1=AA?= <980287353@qq.com> Date: Wed, 18 Sep 2024 22:59:10 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20token=E5=85=BC=E5=AE=B9=E6=97=A7?= =?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=8C=E6=97=A7=E7=89=88=E6=9C=AC=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E6=98=AF10=E4=BD=8D=E6=95=B0=E7=9A=84?= =?UTF-8?q?=E7=A7=92=E4=BD=9C=E4=B8=BA=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/tiesheng/util/jwt/JWTValidator.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/springboot-util/src/main/java/com/tiesheng/util/jwt/JWTValidator.java b/springboot-util/src/main/java/com/tiesheng/util/jwt/JWTValidator.java index 9784074..9e05a2f 100644 --- a/springboot-util/src/main/java/com/tiesheng/util/jwt/JWTValidator.java +++ b/springboot-util/src/main/java/com/tiesheng/util/jwt/JWTValidator.java @@ -2,6 +2,7 @@ package com.tiesheng.util.jwt; import cn.hutool.core.date.DateUtil; import cn.hutool.core.exceptions.ValidateException; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.tiesheng.util.jwt.signers.JWTSigner; import com.tiesheng.util.jwt.signers.NoneJWTSigner; @@ -200,7 +201,10 @@ public class JWTValidator { validateNotAfter(JWTPayload.NOT_BEFORE, notBefore, now, leeway); // 检查失效时间(失效时间不能早于当前时间) - final Date expiresAt = payload.getClaimsJson().getDate(JWTPayload.EXPIRES_AT); + // 这里兼容一下旧版本,旧版本使用的是10位数的秒作为数据 + String string = payload.getClaimsJson().getString(JWTPayload.EXPIRES_AT); + Date expiresAt = StrUtil.length(string) == 10 ? DateUtil.date(NumberUtil.parseLong(string) * 1000L) + : DateUtil.parse(string); validateNotBefore(JWTPayload.EXPIRES_AT, expiresAt, now, leeway); // 检查签发时间(签发时间不能晚于当前时间)