diff --git a/openhis-server-new/core-common/pom.xml b/openhis-server-new/core-common/pom.xml index baf4d8166..632f9dc7f 100755 --- a/openhis-server-new/core-common/pom.xml +++ b/openhis-server-new/core-common/pom.xml @@ -21,10 +21,10 @@ org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + ${maven-compiler-plugin.version} - 17 - 17 + ${java.version} + ${java.version} UTF-8 -parameters @@ -35,7 +35,7 @@ org.projectlombok lombok - 1.18.34 + ${lombok.version} @@ -142,7 +142,17 @@ io.jsonwebtoken - jjwt + jjwt-api + + + io.jsonwebtoken + jjwt-impl + runtime + + + io.jsonwebtoken + jjwt-jackson + runtime diff --git a/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java b/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java index f2d4ae845..bdcac8704 100755 --- a/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java +++ b/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java @@ -11,8 +11,10 @@ import com.core.common.utils.ip.IpUtils; import com.core.common.utils.uuid.IdUtils; import eu.bitwalker.useragentutils.UserAgent; import io.jsonwebtoken.Claims; +import io.jsonwebtoken.security.Keys; import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; +import javax.crypto.SecretKey; +import java.nio.charset.StandardCharsets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -153,9 +155,16 @@ public class TokenService { * @param claims 数据声明 * @return 令牌 */ + private SecretKey getSigningKey() { + byte[] keyBytes = secret.getBytes(StandardCharsets.UTF_8); + // Pad to 64 bytes for HS512 minimum key requirement + byte[] paddedKey = new byte[64]; + System.arraycopy(keyBytes, 0, paddedKey, 0, Math.min(keyBytes.length, 64)); + return Keys.hmacShaKeyFor(paddedKey); + } + private String createToken(Map claims) { - String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact(); - return token; + return Jwts.builder().claims(claims).signWith(getSigningKey()).compact(); } /** @@ -165,7 +174,7 @@ public class TokenService { * @return 数据声明 */ private Claims parseToken(String token) { - return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); + return Jwts.parser().verifyWith(getSigningKey()).build().parseSignedClaims(token).getPayload(); } /** diff --git a/openhis-server-new/openhis-application/pom.xml b/openhis-server-new/openhis-application/pom.xml index a46427ea6..be6d31dba 100755 --- a/openhis-server-new/openhis-application/pom.xml +++ b/openhis-server-new/openhis-application/pom.xml @@ -117,10 +117,10 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.15.0 - 17 - 17 + ${java.version} + ${java.version} UTF-8 diff --git a/openhis-server-new/openhis-domain/pom.xml b/openhis-server-new/openhis-domain/pom.xml index b616754f4..115c9f39b 100755 --- a/openhis-server-new/openhis-domain/pom.xml +++ b/openhis-server-new/openhis-domain/pom.xml @@ -21,8 +21,8 @@ org.apache.maven.plugins maven-compiler-plugin - 17 - 17 + ${java.version} + ${java.version} UTF-8 diff --git a/openhis-server-new/openhis-miniapp/pom.xml b/openhis-server-new/openhis-miniapp/pom.xml index 92c2c0d77..4d111211f 100755 --- a/openhis-server-new/openhis-miniapp/pom.xml +++ b/openhis-server-new/openhis-miniapp/pom.xml @@ -56,8 +56,8 @@ org.apache.maven.plugins maven-compiler-plugin - 17 - 17 + ${java.version} + ${java.version} diff --git a/openhis-server-new/pom.xml b/openhis-server-new/pom.xml index bf8bc3020..ce15596f2 100755 --- a/openhis-server-new/pom.xml +++ b/openhis-server-new/pom.xml @@ -23,8 +23,8 @@ 0.0.1-SNAPSHOT UTF-8 UTF-8 - 17 - 3.11.0 + 25 + 3.15.0 3.1.1 1.2.28 1.21 @@ -35,9 +35,9 @@ 2.21.0 4.1.2 2.3 - 0.9.1 + 0.12.6 - 1.18.34 + 1.18.38 3.5.16 7.1.0 42.7.10 @@ -296,9 +296,21 @@ io.jsonwebtoken - jjwt + jjwt-api ${jwt.version} + + io.jsonwebtoken + jjwt-impl + ${jwt.version} + runtime + + + io.jsonwebtoken + jjwt-jackson + ${jwt.version} + runtime +