Skip to content

Commit 352a54a

Browse files
authored
fix(auth): ignore case when comparing http headers (#8356)
1 parent 2ca7f56 commit 352a54a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

datahub-frontend/app/controllers/Application.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,11 @@ public CompletableFuture<Result> proxy(String path, Http.Request request) throws
136136
.stream()
137137
// Remove X-DataHub-Actor to prevent malicious delegation.
138138
.filter(entry -> !AuthenticationConstants.LEGACY_X_DATAHUB_ACTOR_HEADER.equalsIgnoreCase(entry.getKey()))
139-
.filter(entry -> !Http.HeaderNames.CONTENT_LENGTH.equals(entry.getKey()))
140-
.filter(entry -> !Http.HeaderNames.CONTENT_TYPE.equals(entry.getKey()))
141-
.filter(entry -> !Http.HeaderNames.AUTHORIZATION.equals(entry.getKey()))
139+
.filter(entry -> !Http.HeaderNames.CONTENT_LENGTH.equalsIgnoreCase(entry.getKey()))
140+
.filter(entry -> !Http.HeaderNames.CONTENT_TYPE.equalsIgnoreCase(entry.getKey()))
141+
.filter(entry -> !Http.HeaderNames.AUTHORIZATION.equalsIgnoreCase(entry.getKey()))
142142
// Remove Host s.th. service meshes do not route to wrong host
143-
.filter(entry -> !Http.HeaderNames.HOST.equals(entry.getKey()))
143+
.filter(entry -> !Http.HeaderNames.HOST.equalsIgnoreCase(entry.getKey()))
144144
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))
145145
)
146146
.addHeader(Http.HeaderNames.AUTHORIZATION, authorizationHeaderValue)
@@ -152,8 +152,8 @@ public CompletableFuture<Result> proxy(String path, Http.Request request) throws
152152
final ResponseHeader header = new ResponseHeader(apiResponse.getStatus(), apiResponse.getHeaders()
153153
.entrySet()
154154
.stream()
155-
.filter(entry -> !Http.HeaderNames.CONTENT_LENGTH.equals(entry.getKey()))
156-
.filter(entry -> !Http.HeaderNames.CONTENT_TYPE.equals(entry.getKey()))
155+
.filter(entry -> !Http.HeaderNames.CONTENT_LENGTH.equalsIgnoreCase(entry.getKey()))
156+
.filter(entry -> !Http.HeaderNames.CONTENT_TYPE.equalsIgnoreCase(entry.getKey()))
157157
.map(entry -> Pair.of(entry.getKey(), String.join(";", entry.getValue())))
158158
.collect(Collectors.toMap(Pair::getFirst, Pair::getSecond)));
159159
final HttpEntity body = new HttpEntity.Strict(apiResponse.getBodyAsBytes(), Optional.ofNullable(apiResponse.getContentType()));

0 commit comments

Comments
 (0)