This is an automated email from the ASF dual-hosted git repository.

likeguo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new 0b0e61b11 [type:bugfix]Fixed signing function of  the sign plugin When 
there is no request body (#4187)
0b0e61b11 is described below

commit 0b0e61b11c6c8364ce6cdcff47c7e790cde8590d
Author: 愿凌飞 <[email protected]>
AuthorDate: Fri Nov 25 13:48:45 2022 +0800

    [type:bugfix]Fixed signing function of  the sign plugin When there is no 
request body (#4187)
    
    * fixed sign function When there is no request body
    
    * fixed DefaultSignServiceTest
    
    * fixed integrated SignPluginTest
    
    Co-authored-by: xiaoyu <[email protected]>
    Co-authored-by: likeguo <[email protected]>
---
 .../src/main/java/org/apache/shenyu/common/utils/SignUtils.java       | 4 ++--
 .../shenyu/integrated/test/http/combination/SignPluginTest.java       | 4 ++--
 .../org/apache/shenyu/plugin/sign/service/DefaultSignService.java     | 2 +-
 .../org/apache/shenyu/plugin/sign/service/DefaultSignServiceTest.java | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java 
b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java
index 1c699a124..04e15325d 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java
@@ -58,12 +58,12 @@ public final class SignUtils {
                 .sorted(Comparator.naturalOrder())
                 .map(key -> String.join("", key, jsonParams.get(key)))
                 .collect(Collectors.joining()).trim())
-            .orElse(null);
+                .orElse("");
         final String querySign = Optional.ofNullable(queryParams).map(e -> 
e.keySet().stream()
                 .sorted(Comparator.naturalOrder())
                 .map(key -> String.join("", key, queryParams.get(key)))
                 .collect(Collectors.joining()).trim())
-            .orElse(null);
+                .orElse("");
         final String sign = String.join("", jsonSign, querySign, signKey);
         // TODO this is a risk for error charset coding with getBytes
         return DigestUtils.md5Hex(sign.getBytes()).toUpperCase();
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SignPluginTest.java
 
b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SignPluginTest.java
index 7e90af0ad..2bedcb367 100644
--- 
a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SignPluginTest.java
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SignPluginTest.java
@@ -173,7 +173,7 @@ public final class SignPluginTest extends 
AbstractPluginDataInit {
 
     private Map<String, Object> buildHeadersMap(final String timestamp, final 
String path, final String appKey,
                                                 final String appSecret, final 
String version) {
-        String extSignKey = String.join("", Constants.TIMESTAMP, timestamp, 
Constants.PATH, path, Constants.VERSION, version, appSecret);
+        String extSignKey = String.join("", Constants.PATH, path, 
Constants.TIMESTAMP, timestamp, Constants.VERSION, version, appSecret);
         String sign = SignUtils.generateSign(extSignKey, null, null);
         Map<String, Object> headers = Maps.newHashMapWithExpectedSize(4);
         headers.put("timestamp", timestamp);
@@ -185,7 +185,7 @@ public final class SignPluginTest extends 
AbstractPluginDataInit {
 
     private Map<String, Object> buildHeadersMapQueryParam(final String 
timestamp, final String path, final String appKey,
                                                           final String 
appSecret, final String version, final Map<String, String> queryParam) {
-        String extSignKey = String.join("", Constants.TIMESTAMP, timestamp, 
Constants.PATH, path, Constants.VERSION, version, appSecret);
+        String extSignKey = String.join("", Constants.PATH, path, 
Constants.TIMESTAMP, timestamp, Constants.VERSION, version, appSecret);
         String sign = SignUtils.generateSign(extSignKey, null, queryParam);
 
         Map<String, Object> headers = Maps.newHashMapWithExpectedSize(4);
diff --git 
a/shenyu-plugin/shenyu-plugin-sign/src/main/java/org/apache/shenyu/plugin/sign/service/DefaultSignService.java
 
b/shenyu-plugin/shenyu-plugin-sign/src/main/java/org/apache/shenyu/plugin/sign/service/DefaultSignService.java
index 67ee827a8..d8a3c99c7 100644
--- 
a/shenyu-plugin/shenyu-plugin-sign/src/main/java/org/apache/shenyu/plugin/sign/service/DefaultSignService.java
+++ 
b/shenyu-plugin/shenyu-plugin-sign/src/main/java/org/apache/shenyu/plugin/sign/service/DefaultSignService.java
@@ -126,6 +126,6 @@ public class DefaultSignService implements SignService {
     }
 
     private String buildExtSignKey(final String signKey, final ShenyuContext 
shenyuContext) {
-        return String.join("", Constants.TIMESTAMP, 
shenyuContext.getTimestamp(), Constants.PATH, shenyuContext.getPath(), 
Constants.VERSION, "1.0.0", signKey);
+        return String.join("", Constants.PATH, shenyuContext.getPath(), 
Constants.TIMESTAMP, shenyuContext.getTimestamp(), Constants.VERSION, "1.0.0", 
signKey);
     }
 }
diff --git 
a/shenyu-plugin/shenyu-plugin-sign/src/test/java/org/apache/shenyu/plugin/sign/service/DefaultSignServiceTest.java
 
b/shenyu-plugin/shenyu-plugin-sign/src/test/java/org/apache/shenyu/plugin/sign/service/DefaultSignServiceTest.java
index e65b909bc..6f766717f 100644
--- 
a/shenyu-plugin/shenyu-plugin-sign/src/test/java/org/apache/shenyu/plugin/sign/service/DefaultSignServiceTest.java
+++ 
b/shenyu-plugin/shenyu-plugin-sign/src/test/java/org/apache/shenyu/plugin/sign/service/DefaultSignServiceTest.java
@@ -273,7 +273,7 @@ public final class DefaultSignServiceTest {
     }
 
     private String buildSign(final String signKey, final String timeStamp, 
final String path, final Map<String, String> jsonParams, final Map<String, 
String> queryParams) {
-        final String extSignKey = String.join("", Constants.TIMESTAMP, 
timeStamp, Constants.PATH, path, Constants.VERSION, "1.0.0", signKey);
+        final String extSignKey = String.join("", Constants.PATH, path, 
Constants.TIMESTAMP, timeStamp, Constants.VERSION, "1.0.0", signKey);
         return SignUtils.generateSign(extSignKey, jsonParams, queryParams);
     }
 }

Reply via email to