diff --git a/pom.xml b/pom.xml
index 83152a9d..6bcf6522 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,7 +34,6 @@
1.4
2.3
1.2.79
- 0.9.1
8.2.2
4.1.2
2.10.0
@@ -198,13 +197,6 @@
${fastjson.version}
-
-
- io.jsonwebtoken
- jjwt
- ${jjwt.version}
-
-
com.alibaba
diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml
index 9b63f434..a8579cc6 100644
--- a/ruoyi-common/ruoyi-common-core/pom.xml
+++ b/ruoyi-common/ruoyi-common-core/pom.xml
@@ -81,12 +81,6 @@
fastjson
-
-
- io.jsonwebtoken
- jjwt
-
-
javax.xml.bind
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java
index abe93c0c..d809882d 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java
@@ -1,12 +1,14 @@
package com.ruoyi.common.core.utils;
-import java.util.Map;
+import cn.hutool.json.JSONObject;
+import cn.hutool.jwt.JWTUtil;
+import cn.hutool.jwt.signers.JWTSigner;
+import cn.hutool.jwt.signers.JWTSignerUtil;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.TokenConstants;
import com.ruoyi.common.core.text.Convert;
-import io.jsonwebtoken.Claims;
-import io.jsonwebtoken.Jwts;
-import io.jsonwebtoken.SignatureAlgorithm;
+
+import java.util.Map;
/**
* Jwt工具类
@@ -25,7 +27,8 @@ public class JwtUtils
*/
public static String createToken(Map claims)
{
- String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact();
+ JWTSigner signer = JWTSignerUtil.hs512(secret.getBytes());
+ String token = JWTUtil.createToken(claims, signer);
return token;
}
@@ -35,9 +38,10 @@ public class JwtUtils
* @param token 令牌
* @return 数据声明
*/
- public static Claims parseToken(String token)
+ public static JSONObject parseToken(String token)
{
- return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();
+ JWTSigner signer = JWTSignerUtil.hs512(secret.getBytes());
+ return JWTUtil.parseToken(token).setSigner(signer).getPayload().getClaimsJson();
}
/**
@@ -48,7 +52,7 @@ public class JwtUtils
*/
public static String getUserKey(String token)
{
- Claims claims = parseToken(token);
+ JSONObject claims = parseToken(token);
return getValue(claims, SecurityConstants.USER_KEY);
}
@@ -58,7 +62,7 @@ public class JwtUtils
* @param claims 身份信息
* @return 用户ID
*/
- public static String getUserKey(Claims claims)
+ public static String getUserKey(JSONObject claims)
{
return getValue(claims, SecurityConstants.USER_KEY);
}
@@ -71,7 +75,7 @@ public class JwtUtils
*/
public static String getUserId(String token)
{
- Claims claims = parseToken(token);
+ JSONObject claims = parseToken(token);
return getValue(claims, SecurityConstants.DETAILS_USER_ID);
}
@@ -81,7 +85,7 @@ public class JwtUtils
* @param claims 身份信息
* @return 用户ID
*/
- public static String getUserId(Claims claims)
+ public static String getUserId(JSONObject claims)
{
return getValue(claims, SecurityConstants.DETAILS_USER_ID);
}
@@ -94,7 +98,7 @@ public class JwtUtils
*/
public static String getUserName(String token)
{
- Claims claims = parseToken(token);
+ JSONObject claims = parseToken(token);
return getValue(claims, SecurityConstants.DETAILS_USERNAME);
}
@@ -104,7 +108,7 @@ public class JwtUtils
* @param claims 身份信息
* @return 用户名
*/
- public static String getUserName(Claims claims)
+ public static String getUserName(JSONObject claims)
{
return getValue(claims, SecurityConstants.DETAILS_USERNAME);
}
@@ -116,7 +120,7 @@ public class JwtUtils
* @param key 键
* @return 值
*/
- public static String getValue(Claims claims, String key)
+ public static String getValue(JSONObject claims, String key)
{
return Convert.toStr(claims.get(key), "");
}
diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
index 101de638..6e1e68a1 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -1,5 +1,6 @@
package com.ruoyi.gateway.filter;
+import cn.hutool.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +19,6 @@ import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties;
-import io.jsonwebtoken.Claims;
import reactor.core.publisher.Mono;
/**
@@ -56,7 +56,7 @@ public class AuthFilter implements GlobalFilter, Ordered
{
return unauthorizedResponse(exchange, "令牌不能为空");
}
- Claims claims = JwtUtils.parseToken(token);
+ JSONObject claims = JwtUtils.parseToken(token);
if (claims == null)
{
return unauthorizedResponse(exchange, "令牌已过期或验证不正确!");