Skip to content

Follow-up: RFC 8414 issuer normalization on the OAuth root fallback (trailing slash) + #4211 review LOWs #4345

Open

Description

@code-yeongyu

Follow-up LOWs from the review of #4211 (CLEAR at c98eee2, Opus 5.5).

  1. Trailing-slash issuer on the root fallback (oauth-issuer.ts:11-20). With no protected-resource metadata, the root fallback now rejects an authorization-server metadata issuer written as https://origin/ (Auth0's style) although that is the exact URL the SDK discovered. Before fix(mcp): validate OAuth metadata and bind credentials to issuers #4211 nothing compared issuers, so such servers worked. MCP 2026-07-28 requires the metadata anyway, so this is a narrow compatibility cost, not a security issue. Accept both origin and origin/ in that branch only (they name the same origin).
  2. Refresh error names the same server twice (oauth-refresh.ts:96-103). When only the stored client registration belongs to another server and the grant's own stamp matches, the message reads "now uses authorization server X, but its saved sign-in was issued by X". Clearing the credentials is right; say that the registration was the mismatch.
  3. Nit: 4194-oauth-client-issuer.test.ts:13 ("does not declare a redirect application type for a client without redirects") also passes on the pre-fix code; it guards against regression rather than proving the fix.

Acceptance: a root-fallback server whose metadata issuer has a trailing slash connects; the registration-mismatch message names what mismatched.

Activity

  1. code-yeongyu commented on Oct 26, 2026

    @code-yeongyu
    OwnerAuthor

    Per the lead: the trailing-slash LOW is an RFC 8414 issuer normalization follow-up. RFC 8414 compares the metadata issuer with the issuer the client used by simple string comparison, and https://origin vs https://origin/ are different strings that name the same origin. Scope: normalize the empty-path issuer (origin ≡ origin/) on the root-fallback branch only (no protected-resource metadata), keep strict comparison for issuers with a path, and add RED tests for both an Auth0-style https://origin/ issuer and a path issuer that must stay strict.

  2. changed the title [-]Follow-up: #4211 review LOWs (trailing-slash issuer on root fallback, refresh mismatch message)[/-] [+]Follow-up: RFC 8414 issuer normalization on the OAuth root fallback (trailing slash) + #4211 review LOWs[/+] on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions