Skip to content

fix: default to allowing missing issuer - #1051

Merged
jamadeo merged 1 commit into
mainfrom
jamadeo/allow-missing-issuer-by-default
Jul 27, 2026
Merged

fix: default to allowing missing issuer#1051
jamadeo merged 1 commit into
mainfrom
jamadeo/allow-missing-issuer-by-default

Conversation

@jamadeo

@jamadeo jamadeo commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

fixes #1047

Motivation and Context

Strictly compliant servers must send issuer, but to preserver legacy compatibility, default to allowing missing.

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

@github-actions github-actions Bot added T-core Core library changes T-transport Transport layer changes labels Jul 24, 2026
@jamadeo
jamadeo marked this pull request as ready for review July 25, 2026 00:35
@jamadeo
jamadeo requested a review from a team as a code owner July 25, 2026 00:35
/// authorization servers that omit `issuer`. Set this to `true` to enforce
/// the RFC 8414/OIDC requirement that discovered metadata include `issuer`
/// whenever the expected issuer can be derived from the discovery URL.
pub fn set_strict_issuer_validation(&mut self, strict: bool) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should we provide a public setter, or just announce the change and change the default at some point in the future? Providing a setter suggests to people they could set it to false and leave it that way when my understanding of this is that we'll want to eventually always require it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think once we are at the point where we remove non-compliant server support, we'd remove the setter completely and that forces users to change their code anyway.

@jamadeo
jamadeo merged commit 92c0793 into main Jul 27, 2026
22 checks passed
@jamadeo
jamadeo deleted the jamadeo/allow-missing-issuer-by-default branch July 27, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-core Core library changes T-transport Transport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OAuth discovery rejects metadata without issuer, breaking compatibility with rmcp 2.2

2 participants