Skip to content

Commit 2208e9e

Browse files
Merge pull request #3599 from mevan-karu/pat_impl_choreo
Improve x-forwarded-authorization header setting logic
2 parents 227525e + 434b925 commit 2208e9e

File tree

1 file changed

+6
-1
lines changed
  • enforcer-parent/enforcer/src/main/java/org/wso2/choreo/connect/enforcer/security/jwt

1 file changed

+6
-1
lines changed

enforcer-parent/enforcer/src/main/java/org/wso2/choreo/connect/enforcer/security/jwt/JWTAuthenticator.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -818,6 +818,7 @@ private String exchangeJWTForPAT(RequestContext requestContext, String pat) thro
818818
if (log.isDebugEnabled()) {
819819
log.debug("Token retrieved from the cache. Token: " + FilterUtils.getMaskedToken(pat));
820820
}
821+
setXForwardedAuthorizationHeader(requestContext, (String) cachedJWT);
821822
return (String) cachedJWT;
822823
}
823824
Optional<String> jwt = APIKeyUtils.exchangePATToJWT(keyHash);
@@ -828,10 +829,14 @@ private String exchangeJWTForPAT(RequestContext requestContext, String pat) thro
828829
}
829830
CacheProvider.getGatewayAPIKeyJWTCache().put(keyHash, jwt.get());
830831
// Add jwt to x-forwarded-authorization header.
831-
requestContext.addOrModifyHeaders("x-forwarded-authorization", jwt.get());
832+
setXForwardedAuthorizationHeader(requestContext, jwt.get());
832833
return jwt.get();
833834
}
834835

836+
private void setXForwardedAuthorizationHeader(RequestContext requestContext, String jwt) {
837+
requestContext.addOrModifyHeaders("x-forwarded-authorization", String.format("Bearer %s", jwt));
838+
}
839+
835840
public String extractJWTInWSProtocolHeader(RequestContext requestContext) {
836841
String protocolHeader = requestContext.getHeaders().get(
837842
HttpConstants.WEBSOCKET_PROTOCOL_HEADER);

0 commit comments

Comments
 (0)