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

   Fixes [CAMEL-24456](https://issues.apache.org/jira/browse/CAMEL-24456).
   
   The cache key was the record OAuth2URIAndCredentials(uri, clientId, 
clientSecret), while
   scope, tokenEndpoint and resourceIndicator all influence the token that
   getAccessTokenResponse() mints. The map is static, so it is shared by every
   OAuth2ClientConfigurer instance and every CamelContext in the JVM.
   
   A route configured with a narrow scope could therefore be handed a 
broad-scope token that
   another route had cached first for the same target and credentials, which 
defeats the
   scoping the operator configured and makes the audit trail misleading. Where 
several
   CamelContexts run in one JVM, a token minted for one could serve another's 
requests.
   
   Add tokenEndpoint, scope and resourceIndicator to the key. The map stays JVM 
wide, but a
   hit now requires every field of the token request to match, so it is the 
same token
   request by construction; scoping the cache per CamelContext is noted on the 
issue as a
   separate question.
   
   The added test follows the idiom of the tests around it: cache a token, 
close the token
   endpoint, then request the same target with a different scope. A cache hit 
succeeds, a
   miss cannot mint and fails - so without the fix the narrow-scope token is 
silently reused.
   
   Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
   Signed-off-by: Andrea Cosentino <[email protected]>
   \n## Verification\n\n3 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