From e8e69aabb0ee28cb8c023e64ef51fb5f17dbb8a2 Mon Sep 17 00:00:00 2001 From: huangxi Date: Tue, 22 Aug 2023 17:59:03 +0800 Subject: [PATCH] fix signParams --- .../java/com/schbrain/common/util/StreamUtils.java | 10 +++------- .../AbstractSignatureValidationInterceptor.java | 4 +++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java b/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java index b80ce58..533f038 100644 --- a/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java +++ b/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java @@ -158,15 +158,11 @@ public class StreamUtils { } public static String join(Iterable data, String delimiter) { - return join(data, delimiter, Objects::toString, any -> true); + return join(data, delimiter, Objects::toString); } - public static String join(Iterable data, String delimiter, Predicate predicate) { - return join(data, delimiter, Objects::toString, predicate); - } - - public static String join(Iterable data, String delimiter, Function toStringFunction, Predicate predicate) { - return from(data).map(toStringFunction).filter(predicate).collect(joining(delimiter)); + public static String join(Iterable data, String delimiter, Function toStringFunction) { + return from(data).map(toStringFunction).collect(joining(delimiter)); } public static List split(String data) { diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java b/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java index 3adc651..6ba0e28 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java @@ -10,6 +10,7 @@ import org.springframework.web.util.ContentCachingRequestWrapper; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.List; import java.util.Objects; import static cn.hutool.core.text.StrPool.UNDERLINE; @@ -68,7 +69,8 @@ public abstract class AbstractSignatureValidationInterceptor params = StreamUtils.filterToList(Arrays.asList(requestUri, queryString, bodyString, timestamp, appKey, appSecret), StringUtils::isNotBlank); + String toSign = StreamUtils.join(params, UNDERLINE); return DigestUtil.sha256Hex(toSign); } -- GitLab