From 0c4d7c644e40a5bdf0ad87495cac62f609fc74de Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Tue, 8 Sep 2026 21:38:12 +0800 Subject: [PATCH] fix(gateway): forward standard internal trust header --- .../common/security/GatewayAccessTokenSessionValidator.java | 2 +- .../baiyue/gateway/filter/OverseasSecurityProjectionFilter.java | 2 +- .../com/baiyue/gateway/filter/TrustedIdentityHeaderFilter.java | 2 +- .../gateway/filter/OverseasSecurityProjectionFilterTest.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common-security/src/main/java/com/baiyue/common/security/GatewayAccessTokenSessionValidator.java b/common-security/src/main/java/com/baiyue/common/security/GatewayAccessTokenSessionValidator.java index 3b02a9597..062ff2fa1 100644 --- a/common-security/src/main/java/com/baiyue/common/security/GatewayAccessTokenSessionValidator.java +++ b/common-security/src/main/java/com/baiyue/common/security/GatewayAccessTokenSessionValidator.java @@ -10,7 +10,7 @@ import java.util.Set; /** Uses the overseas gateway's authenticated authorization snapshot instead of large JWT claims. */ public final class GatewayAccessTokenSessionValidator implements AccessTokenSessionValidator { - public static final String TOKEN_HEADER = "X-Gateway-Internal-Token"; + public static final String TOKEN_HEADER = "X-Internal-Service-Token"; public static final String ROLES_HEADER = "X-Overseas-Roles"; public static final String AUTHORITIES_HEADER = "X-Overseas-Authorities"; diff --git a/gateway-overseas/src/main/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilter.java b/gateway-overseas/src/main/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilter.java index 43ee910a1..4d2de7857 100644 --- a/gateway-overseas/src/main/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilter.java +++ b/gateway-overseas/src/main/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilter.java @@ -55,7 +55,7 @@ public class OverseasSecurityProjectionFilter implements GlobalFilter, Ordered { var request = exchange.getRequest().mutate() .header("X-Overseas-Roles", join(result.roles())) .header("X-Overseas-Authorities", join(result.authorities())) - .header("X-Gateway-Internal-Token", properties.internalServiceToken()) + .header("X-Internal-Service-Token", properties.internalServiceToken()) .build(); return chain.filter(exchange.mutate().request(request).build()); } diff --git a/gateway-overseas/src/main/java/com/baiyue/gateway/filter/TrustedIdentityHeaderFilter.java b/gateway-overseas/src/main/java/com/baiyue/gateway/filter/TrustedIdentityHeaderFilter.java index ec1cbab64..f0c00dc91 100644 --- a/gateway-overseas/src/main/java/com/baiyue/gateway/filter/TrustedIdentityHeaderFilter.java +++ b/gateway-overseas/src/main/java/com/baiyue/gateway/filter/TrustedIdentityHeaderFilter.java @@ -19,7 +19,7 @@ public class TrustedIdentityHeaderFilter implements GlobalFilter, Ordered { private static final List TRUSTED_HEADERS = List.of( "X-User-Id", "X-Membership-Id", "X-Tenant-Id", "X-Operator-Tenant-Id", "X-App-Code", "X-Client-Type", "X-Overseas-Roles", "X-Overseas-Authorities", - "X-Gateway-Internal-Token" + "X-Internal-Service-Token" ); @Override diff --git a/gateway-overseas/src/test/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilterTest.java b/gateway-overseas/src/test/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilterTest.java index 0bb10bfe5..4c1847ecb 100644 --- a/gateway-overseas/src/test/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilterTest.java +++ b/gateway-overseas/src/test/java/com/baiyue/gateway/filter/OverseasSecurityProjectionFilterTest.java @@ -67,7 +67,7 @@ class OverseasSecurityProjectionFilterTest { var accepted = exchange("/api/platform/v1/last-leg/orders"); StepVerifier.create(filter.filter(accepted, routedExchange -> { routed.set(true); - assertThat(routedExchange.getRequest().getHeaders().getFirst("X-Gateway-Internal-Token")) + assertThat(routedExchange.getRequest().getHeaders().getFirst("X-Internal-Service-Token")) .isEqualTo("gateway-secret"); assertThat(routedExchange.getRequest().getHeaders().getFirst("X-Overseas-Authorities")) .isEqualTo("platform:overseas-warehouse:last-mile-order:list");