From cd1a68f15e107f036d9c265db88bc775a36f43c7 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 13 一月 2022 10:26:18 +0800 Subject: [PATCH] update 防止 MP 无主键警告 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java | 36 +++++++++++++++++------------------- 1 files changed, 17 insertions(+), 19 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java index 15b9759..af14f37 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java @@ -3,18 +3,19 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; +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.constant.Constants; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.service.TokenService; import com.ruoyi.common.properties.TokenProperties; -import com.ruoyi.common.utils.RedisUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.ip.AddressUtils; -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; -import org.springframework.beans.factory.annotation.Autowired; +import com.ruoyi.common.utils.redis.RedisUtils; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -27,6 +28,7 @@ * * @author Lion Li */ +@RequiredArgsConstructor @Service public class TokenServiceImpl implements TokenService { @@ -36,8 +38,7 @@ private static final Long MILLIS_MINUTE_TEN = 20 * 60 * 1000L; - @Autowired - private TokenProperties tokenProperties; + private final TokenProperties tokenProperties; /** * 鑾峰彇鐢ㄦ埛韬唤淇℃伅 @@ -50,9 +51,9 @@ String token = getToken(request); if (StringUtils.isNotEmpty(token)) { try { - Claims claims = parseToken(token); + JSONObject claims = parseToken(token); // 瑙f瀽瀵瑰簲鐨勬潈闄愪互鍙婄敤鎴蜂俊鎭� - String uuid = (String) claims.get(Constants.LOGIN_USER_KEY); + String uuid = claims.getStr(Constants.LOGIN_USER_KEY); String userKey = getTokenKey(uuid); LoginUser user = RedisUtils.getCacheObject(userKey); return user; @@ -153,9 +154,8 @@ * @return 浠ょ墝 */ private String createToken(Map<String, Object> claims) { - String token = Jwts.builder() - .setClaims(claims) - .signWith(SignatureAlgorithm.HS512, tokenProperties.getSecret()).compact(); + JWTSigner signer = JWTSignerUtil.hs512(tokenProperties.getSecret().getBytes()); + String token = JWTUtil.createToken(claims, signer); return token; } @@ -165,11 +165,9 @@ * @param token 浠ょ墝 * @return 鏁版嵁澹版槑 */ - private Claims parseToken(String token) { - return Jwts.parser() - .setSigningKey(tokenProperties.getSecret()) - .parseClaimsJws(token) - .getBody(); + private JSONObject parseToken(String token) { + JWTSigner signer = JWTSignerUtil.hs512(tokenProperties.getSecret().getBytes()); + return JWTUtil.parseToken(token).setSigner(signer).getPayload().getClaimsJson(); } /** @@ -180,8 +178,8 @@ */ @Override public String getUsernameFromToken(String token) { - Claims claims = parseToken(token); - return claims.getSubject(); + JSONObject claims = parseToken(token); + return claims.getStr("sub"); } /** -- Gitblit v1.9.3