liujie
2026-06-09 c96fbe6b0aeb413a17c429133ee6d81d138144b9
xp-robotaxi-gateway-boot/src/main/java/com/xiaopeng/gateway/filter/SignFilter.java
@@ -12,8 +12,6 @@
import com.xiaopeng.gateway.config.properties.SignProperties;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
@@ -26,8 +24,6 @@
import org.springframework.http.server.reactive.ServerHttpRequestDecorator;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebSession;
import org.springframework.web.server.session.WebSessionManager;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -143,7 +139,6 @@
                    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), sign, nonce, timestamp)){
                        return unauthorizedResponse(exchange, "请求失败,请稍后重试!");
                    }
@@ -195,7 +190,6 @@
            signUrl = sb.substring(0, sb.length() - 1);
        }
        signUrl = signUrl + (StringUtils.isNotEmpty(signUrl) ? "&" : "") + "timestamp=" + timestamp;
        log.info("签名串:" + signUrl);
        return signUrlEncode(signUrl, key);
    }
@@ -205,12 +199,9 @@
     * @return
     */
    private boolean authSign(JSONObject jsonStr, String sign, String nonce, String timestamp) {
        log.info("请求签名:" + sign);
        String signUrlEncode = localSignUrl(jsonStr, nonce, timestamp);
        signUrlEncode = signUrlEncode.replaceAll("& #40;", "\\(")
                .replaceAll("& #41;", "\\)");
        log.info("签名key:{}", nonce);
        log.info("校验签名值:" + signUrlEncode);
        if (sign.equals(signUrlEncode)) {
            return true;
        }
@@ -235,4 +226,4 @@
    {
        return -200;
    }
}
}