From 22b3564a2217dee739fc2172453b23600d82d6de Mon Sep 17 00:00:00 2001 From: Charles7c Date: Wed, 20 Nov 2024 20:41:21 +0800 Subject: [PATCH] =?UTF-8?q?refactor(open):=20=E4=BC=98=E5=8C=96=20API=20?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=AD=BE=E5=90=8D=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/SaCheckPermissionHandler.java | 5 ++- .../admin/open/model/entity/AppDO.java | 12 +++++++ .../admin/open/model/resp/AppSecretResp.java | 2 +- .../admin/open/service/AppService.java | 23 +++----------- .../open/service/impl/AppServiceImpl.java | 23 ++------------ .../admin/open/sign/OpenApiSignTemplate.java | 31 +++++++------------ ...iSignCheckUtils.java => OpenApiUtils.java} | 7 +++-- 7 files changed, 37 insertions(+), 66 deletions(-) rename continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/util/{ApiSignCheckUtils.java => OpenApiUtils.java} (92%) 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() { } /**