diff --git a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/JwtUtil.java b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/JwtUtil.java index 0598e16..28b6311 100644 --- a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/JwtUtil.java +++ b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/utils/JwtUtil.java @@ -1,5 +1,6 @@ package org.opsli.core.utils; +import cn.hutool.core.codec.Base64; import cn.hutool.core.util.StrUtil; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; @@ -13,7 +14,6 @@ import org.opsli.common.exception.JwtException; import org.opsli.common.utils.Props; import org.opsli.core.msg.JwtMsg; -import java.io.UnsupportedEncodingException; import java.util.Date; /** @@ -48,17 +48,11 @@ public final class JwtUtil { * @return boolean 是否正确 */ public static boolean verify(String token) { - try { - String secret = getClaim(token, SignConstants.ACCOUNT) + Base64ConvertUtil.decode(ENCRYPT_JWT_KEY); - Algorithm algorithm = Algorithm.HMAC256(secret); - JWTVerifier verifier = JWT.require(algorithm).build(); - verifier.verify(token); - return true; - } catch (UnsupportedEncodingException e) { - // 认证解密异常 - String msg = StrUtil.format(JwtMsg.EXCEPTION_TOKEN.getMessage(), e.getMessage()); - throw new JwtException(JwtMsg.EXCEPTION_TOKEN.getCode(), msg); - } + String secret = getClaim(token, SignConstants.ACCOUNT) + Base64.decodeStr(ENCRYPT_JWT_KEY); + Algorithm algorithm = Algorithm.HMAC256(secret); + JWTVerifier verifier = JWT.require(algorithm).build(); + verifier.verify(token); + return true; } /** @@ -86,26 +80,20 @@ public final class JwtUtil { * @return java.lang.String 返回加密的Token */ public static String sign(String tokenType, String account, String userId) { - try { - // 帐号加JWT私钥加密 - String secret = account + Base64ConvertUtil.decode(ENCRYPT_JWT_KEY); - // 此处过期时间是以毫秒为单位,所以乘以1000 - Date date = new Date(System.currentTimeMillis() + EXPIRE); - Algorithm algorithm = Algorithm.HMAC256(secret); - // 附带account帐号信息 - return JWT.create() - .withClaim(SignConstants.TYPE, tokenType) - .withClaim(SignConstants.ACCOUNT, account) - .withClaim(SignConstants.USER_ID, userId) - .withClaim(SignConstants.TIMESTAMP, String.valueOf(System.currentTimeMillis())) - // token 过期时间 - .withExpiresAt(date) - .sign(algorithm); - } catch (UnsupportedEncodingException e) { - // 加密异常 - String msg = StrUtil.format(JwtMsg.EXCEPTION_ENCODE.getMessage(), e.getMessage()); - throw new JwtException(JwtMsg.EXCEPTION_ENCODE.getCode(), msg); - } + // 帐号加JWT私钥加密 + String secret = account + Base64.decodeStr(ENCRYPT_JWT_KEY); + // 此处过期时间是以毫秒为单位,所以乘以1000 + Date date = new Date(System.currentTimeMillis() + EXPIRE); + Algorithm algorithm = Algorithm.HMAC256(secret); + // 附带account帐号信息 + return JWT.create() + .withClaim(SignConstants.TYPE, tokenType) + .withClaim(SignConstants.ACCOUNT, account) + .withClaim(SignConstants.USER_ID, userId) + .withClaim(SignConstants.TIMESTAMP, String.valueOf(System.currentTimeMillis())) + // token 过期时间 + .withExpiresAt(date) + .sign(algorithm); }