fix get_client_metadata_scopes on 401 #1631
Merged
+167
−1
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.
This PR fixes an issue where the OAuth2 client passed the protected-resource URL as the
scopevalue during token requests. The implementation now correctly uses the parsedscope(orNonewhen no scope is provided).Fix #1630
Motivation and Context
The previous behavior incorrectly substituted the OAuth protected-resource URL for the
scopeparameter, leading to malformed token requests and potential authorization failures. By ensuring that the correct scope is passed, OAuth2 flows behave as expected and remain compliant with spec and provider expectations.How Has This Been Tested?
The fix was tested against an OAuth2 provider in a real application environment. Token requests were validated to ensure that:
Breaking Changes
No breaking changes. This is a bug fix that restores correct behavior and should not require user code changes.
Types of changes
Checklist
Additional context
The problematic logic was located around the OAuth2 request-building code near lines 508–512, where the URL was incorrectly forwarded as the scope. The updated implementation ensures correct scope derivation and preserves compatibility with standard OAuth2 servers.