Skip to content

auth: fetch AS metadata in well-known subpath from serverUrl even when PRM returns external AS #752

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

Merged
merged 7 commits into from
Jul 10, 2025

Conversation

ochafik
Copy link
Contributor

@ochafik ochafik commented Jul 9, 2025

When hitting a protected endpoint https://foo.com/mcp, we now query the integrated AS at https://foo.com/.well-known/oauth-authorization-server/mcp (w/ a fallback to just https://foo.com/.well-known/oauth-authorization-server).

BUT if there's an external AS defined in the PRM (e.g. if https://foo.com/.well-known/oauth-protected-resource returns {"authorization_servers":["https://some-auth.com"]...}), we currently sidestep the subpath logic and only hit https://some-auth.com/.well-known/oauth-authorization-server.

This change passes the auth server URL to discoverOAuthMetadata separately from the issuer URL (from which the subpath is to be fetched), and adds a test on auth itself that fails before the change.

Motivation and Context

How Has This Been Tested?

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

ochafik and others added 2 commits July 9, 2025 17:58
… returns external AS

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@ochafik ochafik marked this pull request as ready for review July 10, 2025 10:27
Copy link
Contributor

@ihrpr ihrpr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ihrpr ihrpr merged commit 9dfd025 into main Jul 10, 2025
5 checks passed
@ihrpr ihrpr deleted the ochafik/fix-path-as branch July 10, 2025 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants