diff --git a/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/handler/SaCheckPermissionHandler.java b/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/handler/SaCheckPermissionHandler.java index abe438b6..9eb83deb 100644 --- a/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/handler/SaCheckPermissionHandler.java +++ b/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/handler/SaCheckPermissionHandler.java @@ -19,7 +19,7 @@ package top.continew.admin.open.handler; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.handler.SaAnnotationHandlerInterface; import org.springframework.stereotype.Component; -import top.continew.admin.open.util.ApiSignCheckUtils; +import top.continew.admin.open.util.OpenApiUtils; import java.lang.reflect.Method; @@ -41,9 +41,8 @@ public class SaCheckPermissionHandler implements SaAnnotationHandlerInterface paramsMap) { - // 根据 AK 获取 SK - String accessKeyValue = (String)((Map)paramsMap).get(ACCESS_KEY); - String secretKey = appService.getSecretKeyByAccessKey(accessKeyValue); - ValidationUtils.throwIfBlank(secretKey, "密钥缺失, 请检查应用配置"); - - // 如果调用者不小心传入了 sign 参数,则此处需要将 sign 参数排除在外 - if (paramsMap.containsKey(sign)) { - // 为了保证不影响原有的 paramsMap,此处需要再复制一份 - paramsMap = new TreeMap<>(paramsMap); - paramsMap.remove(sign); - } - + public String createSign(Map paramMap) { + ValidationUtils.throwIfEmpty(paramMap.get(key), "秘钥缺失, 请检查应用配置"); + // 移除 sign 参数 + paramMap.remove(sign); // 计算签名 - String paramsStr = super.joinParamsDictSort(paramsMap); - String fullStr = paramsStr + "&" + key + "=" + secretKey; - return super.abstractStr(fullStr); + return super.abstractStr(super.joinParamsDictSort(paramMap)); } } diff --git a/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/util/ApiSignCheckUtils.java b/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/util/OpenApiUtils.java similarity index 92% rename from continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/util/ApiSignCheckUtils.java rename to continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/util/OpenApiUtils.java index b7c1fb33..71f99388 100644 --- a/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/util/ApiSignCheckUtils.java +++ b/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/util/OpenApiUtils.java @@ -23,14 +23,15 @@ import cn.dev33.satoken.sign.SaSignTemplate; import java.util.List; /** - * API签名验证工具类 + * Open Api 工具类 * * @author chengzi + * @author Charles7c * @since 2024/10/25 15:31 */ -public class ApiSignCheckUtils { +public class OpenApiUtils { - private ApiSignCheckUtils() { + private OpenApiUtils() { } /**