oscerd opened a new pull request, #25830:
URL: https://github.com/apache/camel/pull/25830

   Fixes [CAMEL-24452](https://issues.apache.org/jira/browse/CAMEL-24452).
   
   Two paths handed credentials to a redirect target, which is a host chosen by 
the remote
   server rather than by the route, once followRedirects=true.
   
   OAuth2ClientConfigurer registers its interceptor with 
addRequestInterceptorFirst, and
   HttpClient runs protocol-level request interceptors inside ProtocolExec, 
which sits below
   RedirectExec in the exec chain. The interceptor therefore ran again for 
every redirect hop
   and re-attached Authorization: Bearer <token> to whatever host the Location 
header named.
   It now attaches the token only for the endpoint's own host.
   
   HttpCredentialsHelper.getCredentialsProvider() was called with the 
endpoint's authHost,
   which is optional and null in the common basic-auth configuration, making 
the scope
   new AuthScope(null, -1) - any host, any port, any scheme. HttpClient then 
offered the
   credentials to whichever host issued a 401 challenge. The scope now falls 
back to the
   endpoint's host when authHost is not set; an explicit authHost still takes 
precedence.
   
   Both need to know the host the endpoint addresses, which 
createHttpClientConfigurer did
   not receive. Rather than change that protected signature, a three argument 
overload
   carries the target URI and the existing two argument form delegates to it 
with null, so
   any subclass overriding or calling it keeps the previous behaviour.
   
   The added test drives a real redirect from a server answering to localhost 
to a second one
   answering to 127.0.0.1 - a single server will not do, because the bootstrap 
sets a
   canonical host name and answers 421 to a mismatched Host. Without the fix 
the first case
   delivers "Bearer xxx.yyy.zzz" and the second "Basic c2NvdHQ6dGlnZXI=" to the 
redirect
   target.
   
   Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
   Signed-off-by: Andrea Cosentino <[email protected]>
   \n## Verification\n\n4 files changed, including 1 test file(s). Module build 
with \`-am\` is green on current main, no generated-file drift. Verified 
against the pre-fix code when the change was written.
   
   _Claude Code on behalf of oscerd_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to