This is an automated email from the ASF dual-hosted git repository. nixonrodrigues pushed a commit to branch ATLAS-5409 in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 568f1618441f8609de94d2e7608ce452fe67a538 Author: Ramachandran Krishnan <[email protected]> AuthorDate: Wed Aug 19 16:41:11 2026 +0530 ATLAS-5385: Fix header auth build and simplify logical key mapping Use server-common User class in AtlasHeaderPreAuthFilter and accept only documented property suffixes (username, roles, request-id). --- .../atlas/web/filters/AtlasHeaderAuthConfiguration.java | 11 ++--------- .../atlas/web/filters/AtlasHeaderPreAuthFilter.java | 2 +- .../web/filters/AtlasHeaderAuthConfigurationTest.java | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfiguration.java b/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfiguration.java index b7ed26c7c..c551588b7 100644 --- a/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfiguration.java +++ b/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfiguration.java @@ -27,7 +27,6 @@ import javax.servlet.http.HttpServletRequest; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; -import java.util.Locale; import java.util.Map; import java.util.Set; @@ -118,20 +117,14 @@ public final class AtlasHeaderAuthConfiguration { return null; } - String normalized = propertyKey.trim().toLowerCase(Locale.ROOT).replace('-', '_'); - - switch (normalized) { + switch (propertyKey.trim()) { case KEY_USERNAME: - case "user": return KEY_USERNAME; case KEY_ROLES: - case "role": - case "groups": return KEY_ROLES; - case KEY_REQUEST_ID: - case "request_id": + case "request-id": return KEY_REQUEST_ID; default: diff --git a/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderPreAuthFilter.java b/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderPreAuthFilter.java index 414e7d645..32db1afa8 100644 --- a/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderPreAuthFilter.java +++ b/webapp/src/main/java/org/apache/atlas/web/filters/AtlasHeaderPreAuthFilter.java @@ -21,7 +21,7 @@ package org.apache.atlas.web.filters; import org.apache.atlas.ApplicationProperties; import org.apache.atlas.server.common.filters.AtlasResponseRequestWrapper; import org.apache.atlas.server.common.filters.HeadersUtil; -import org.apache.atlas.web.model.User; +import org.apache.atlas.server.common.model.User; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/webapp/src/test/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfigurationTest.java b/webapp/src/test/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfigurationTest.java index 6695b32c7..07d69b76d 100644 --- a/webapp/src/test/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfigurationTest.java +++ b/webapp/src/test/java/org/apache/atlas/web/filters/AtlasHeaderAuthConfigurationTest.java @@ -109,4 +109,20 @@ public class AtlasHeaderAuthConfigurationTest { assertEquals(config.getHeaderName(AtlasHeaderAuthConfiguration.KEY_USERNAME), "username"); assertNull(config.getHeaderName(AtlasHeaderAuthConfiguration.KEY_ROLES)); } + + @Test + public void testUnrecognizedPropertyKeyIsIgnored() { + Map<String, Object> properties = new HashMap<>(); + + properties.put(AtlasHeaderAuthConfiguration.PROP_HEADER_AUTH_ENABLED, true); + properties.put(AtlasHeaderAuthConfiguration.PROP_METHOD_HEADER_PREFIX + ".username", "username"); + properties.put(AtlasHeaderAuthConfiguration.PROP_METHOD_HEADER_PREFIX + ".user", "ignored-user-header"); + properties.put(AtlasHeaderAuthConfiguration.PROP_METHOD_HEADER_PREFIX + ".requestid", "ignored-requestid-header"); + + AtlasHeaderAuthConfiguration config = AtlasHeaderAuthConfiguration.load(new MapConfiguration(properties)); + + assertEquals(config.getHeaderName(AtlasHeaderAuthConfiguration.KEY_USERNAME), "username"); + assertNull(config.getHeaderName(AtlasHeaderAuthConfiguration.KEY_ROLES)); + assertNull(config.getHeaderName(AtlasHeaderAuthConfiguration.KEY_REQUEST_ID)); + } }
