From ab46a451cf1c94b01e8718e2aa6be6c7fc1886c1 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 16 八月 2024 15:32:50 +0800
Subject: [PATCH] 合并代码

---
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
index c8b573a..0fe0de6 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
@@ -67,16 +67,16 @@
         if(method != HttpMethod.POST){
             return chain.filter(exchange.mutate().request(mutate.build()).build());
         }
-        String sing = request.getHeaders().getFirst(TokenConstants.SING);
+        String sign = request.getHeaders().getFirst(TokenConstants.SIGN);
         String nonce_str = request.getHeaders().getFirst(TokenConstants.NONCE_STR);
-//        if (parameter_signature && StringUtils.isEmpty(sing)) {
-//            return unauthorizedResponse(exchange, "签名不能为空!");
-//        }
-//        if (parameter_signature && StringUtils.isEmpty(nonce_str)) {
-//            return unauthorizedResponse(exchange, "签名不能为空!");
-//        }
+        if (parameter_signature && StringUtils.isEmpty(sign)) {
+            return unauthorizedResponse(exchange, "签名不能为空!");
+        }
+        if (parameter_signature && StringUtils.isEmpty(nonce_str)) {
+            return unauthorizedResponse(exchange, "签名不能为空!");
+        }
         if(parameter_signature){
-            return authSign(exchange, chain, sing, nonce_str);
+            return authSign(exchange, chain, sign, nonce_str);
         }
         return chain.filter(exchange.mutate().request(mutate.build()).build());
     }
@@ -93,14 +93,14 @@
      * 校验签名
      * @return
      */
-    private Mono<Void> authSign(ServerWebExchange exchange, GatewayFilterChain chain, String sing, String nonce_str){
+    private Mono<Void> authSign(ServerWebExchange exchange, GatewayFilterChain chain, String sign, String nonce_str){
         return DataBufferUtils.join(exchange.getRequest().getBody())
                 .flatMap(dataBuffer -> {
                     byte[] bytes = new byte[dataBuffer.readableByteCount()];
                     dataBuffer.read(bytes);
                     String bodyString = new String(bytes, StandardCharsets.UTF_8);
                     log.info("请求参数:{}", bodyString);
-                    if(!authSign(JSON.parseObject(bodyString), sing, nonce_str)){
+                    if(!authSign(JSON.parseObject(bodyString), sign, nonce_str)){
                         return unauthorizedResponse(exchange, "签名验证失败!");
                     }
                     DataBufferUtils.release(dataBuffer);
@@ -129,11 +129,12 @@
     private boolean authSign(JSONObject jsonStr, String sign, String nonce_str) {
         String signUrlEncode = localSignUrl(jsonStr, nonce_str);
         signUrlEncode = signUrlEncode.replaceAll("& #40;", "\\(")
-                .replaceAll("& #41;", "\\)")
-                .replaceAll("\\+", " ");
+                .replaceAll("& #41;", "\\)");
         if(sign.equals(signUrlEncode)){
             return true;
         }
+
+        System.err.println("签名值:" + signUrlEncode);
         return false;
     }
     
@@ -161,6 +162,7 @@
             }
         }
         String signUrl = sb.substring(0, sb.length() - 1);
+        System.err.println("签名串:" + signUrl);
         return signUrlEncode(signUrl, key);
     }
     

--
Gitblit v1.7.1