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);
}
}