fix: Add response_type + PKCE parameters to OAuth authorization endpoint #15720
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.
What does this change do
Fixes OAuth 2.1 PKCE (Proof Key for Code Exchange) support in LiteLLM's MCP OAuth proxy.
Previously, the proxy did not forward PKCE parameters, causing OAuth flows with providers like
Google to fail when used with PKCE-compliant clients (such as Claude Code).
Changes Made
Authorization endpoint (
/authorize):code_challengeandcode_challenge_methodquery parametersToken endpoint (
/token):code_verifierform parameterState management:
Tests:
test_authorize_endpoint_forwards_pkce_parameters()to verify PKCE parameter forwardingin authorization
test_token_endpoint_forwards_code_verifier()to verify PKCE verifier forwarding intoken exchange
Impact
🤖 Generated with Claude Code
Relevant issues
Fixes #15684
Tested Locally -> screenshots
Step 1
Step 2
Step 3
Pre-Submission checklist
tests/litellm/directory, Addingat least 1 test is a hard requirement - see
details
make test-unitType
🐛 Bug Fix