-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Support OAuth2-based flows in Tool calling #3595
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Kehrlann
wants to merge
2
commits into
spring-projects:main
from
Kehrlann:dgarnier/tool-rethrow-errors
Closed
Support OAuth2-based flows in Tool calling #3595
Kehrlann
wants to merge
2
commits into
spring-projects:main
from
Kehrlann:dgarnier/tool-rethrow-errors
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…onProcessor Signed-off-by: Daniel Garnier-Moiroux <[email protected]>
Signed-off-by: Daniel Garnier-Moiroux <[email protected]>
tzolov
pushed a commit
that referenced
this pull request
Jun 20, 2025
…tionProcessor (#3595) This allows certain exceptions (like OAuth2 authorization errors) to bubble up properly instead of being wrapped, enabling correct authentication flows. - Add support for configuring allowlist of exceptions to be rethrown directly - Enhance DefaultToolExecutionExceptionProcessor with builder pattern - Add automatic detection and handling of OAuth2 ClientAuthorizationException - Update ToolCallingAutoConfiguration to configure OAuth2 exception rethrowing - Add unit tests for new exception handling behavior Signed-off-by: Daniel Garnier-Moiroux <[email protected]>
Contributor
|
Thanks @Kehrlann |
tzolov
pushed a commit
that referenced
this pull request
Jun 20, 2025
…tionProcessor (#3595) This allows certain exceptions (like OAuth2 authorization errors) to bubble up properly instead of being wrapped, enabling correct authentication flows. - Add support for configuring allowlist of exceptions to be rethrown directly - Enhance DefaultToolExecutionExceptionProcessor with builder pattern - Add automatic detection and handling of OAuth2 ClientAuthorizationException - Update ToolCallingAutoConfiguration to configure OAuth2 exception rethrowing - Add unit tests for new exception handling behavior Signed-off-by: Daniel Garnier-Moiroux <[email protected]>
Contributor
|
Rebased, squashed and merged at beb1d05 |
scionaltera
pushed a commit
to scionaltera/spring-ai
that referenced
this pull request
Sep 3, 2025
…tionProcessor (spring-projects#3595) This allows certain exceptions (like OAuth2 authorization errors) to bubble up properly instead of being wrapped, enabling correct authentication flows. - Add support for configuring allowlist of exceptions to be rethrown directly - Enhance DefaultToolExecutionExceptionProcessor with builder pattern - Add automatic detection and handling of OAuth2 ClientAuthorizationException - Update ToolCallingAutoConfiguration to configure OAuth2 exception rethrowing - Add unit tests for new exception handling behavior Signed-off-by: Daniel Garnier-Moiroux <[email protected]>
chedim
pushed a commit
to couchbaselabs/spring-ai
that referenced
this pull request
Sep 19, 2025
…tionProcessor (spring-projects#3595) This allows certain exceptions (like OAuth2 authorization errors) to bubble up properly instead of being wrapped, enabling correct authentication flows. - Add support for configuring allowlist of exceptions to be rethrown directly - Enhance DefaultToolExecutionExceptionProcessor with builder pattern - Add automatic detection and handling of OAuth2 ClientAuthorizationException - Update ToolCallingAutoConfiguration to configure OAuth2 exception rethrowing - Add unit tests for new exception handling behavior Signed-off-by: Daniel Garnier-Moiroux <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Spring Security relies on specific exceptions (based on
ClientAuthorizationException) to signal that an OAuth2 token should be requested.With the recent changes in Spring AI, those exceptions were now swallowed and sent to the LLM, or, with the appropriate property, rethrown after being wrapped in another exception. This broke OAuth2 flows. With this PR, we change the default behavior to rethrow spring security OAuth2 exceptions in the
DefaultToolExecutionExceptionProcessor.The
DefaultToolExecutionExceptionProcessornow has an allowlist of exceptions that will be rethrown instead of being wrapped.