diff --git a/CHANGELOG.md b/CHANGELOG.md index 28761043a8..60f4979ea0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased 3.x] ### Added +- Set gRPC security interceptor to highest priority ([#5940](https://github.com/opensearch-project/security/pull/5940)) ### Changed diff --git a/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java b/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java index 3bdebbae21..0618ff9ac1 100644 --- a/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java +++ b/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java @@ -69,7 +69,7 @@ public List getOrderedGrpcInterceptors(ThreadContext thr @Override public int order() { - return 0; + return Integer.MIN_VALUE; } @Override diff --git a/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java b/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java index a65214b9dd..1c950e94b4 100644 --- a/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java +++ b/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java @@ -94,4 +94,20 @@ public void testNormalConfigurationReturnsInterceptor() { assertTrue(e.getMessage().contains("GuiceHolder") || e instanceof NullPointerException); } } + + @Test + public void testInterceptorOrderIsMinValue() { + Settings settings = Settings.builder().put(OpenSearchSecuritySSLPlugin.CLIENT_TYPE, "node").build(); + + securityGrpcFilter.initNodeSettings(settings); + + List interceptors = securityGrpcFilter.getOrderedGrpcInterceptors(threadContext); + + assertEquals("Should return exactly one interceptor", 1, interceptors.size()); + assertEquals( + "Security interceptor should have highest priority (Integer.MIN_VALUE)", + Integer.MIN_VALUE, + interceptors.get(0).order() + ); + } }