modelcontextprotocol / modelcontextprotocol/csharp-sdk

When Absolute Uri passed as McpAuthenticationOptions.ResourceMetadataUri, /.well-known/oauth-protected-resource endpoint returns 404

Offen
#654 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

area-auth bug help wanted needs confirmation P3
Vorherrschende Sprache
C#
Sterne
4.5k
Forks
814
Ø Merge
9 T. 19 Std.
Gemergte PRs (30 T.)
4

Beschreibung

Describe the bug

When Absolute Uri passed as McpAuthenticationOptions.ResourceMetadataUri, /.well-known/oauth-protected-resource endpoint returns 404.

The logic for matching resource metadata endpoint is only limited to relative path, when an absolute path is passed in, the match fails and allows the resource metadata request to fall through the pipeline.

To Reproduce

  1. Provide an absolute Uri as as McpAuthenticationOptions.ResourceMetadataUri when configuring AddMcp
  2. Start the server
  3. Hit the resource metadata endpoint

Reproduced in sample server, added

AddMcp(options =>
{
  // ... resource metadata object
  options.ResourceMetadataUri = new Uri($"{serverUrl}.well-known/oauth-protected-resource", UriKind.Absolute);
}

in samples\ProtectedMCPServer\Program.cs

Expected behavior
Resource metadata request should be handled when provided a valid ResourceMetadataUri

Unit tests failure when configure the absolute uri

Image

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit samples\ProtectedMCPServer\Program.cs und reproduziere die Anfrage unter Verwendung einer über AddMcp konfigurierten absoluten ResourceMetadataUri. Ermittle dann die Logik zur Zuordnung des Resource-Metadata-Endpunkts und die in diesem Issue referenzierten Unit-Tests. Als erledigt gilt die Aufgabe, wenn eine gültige absolute URI vom Endpunkt /.well-known/oauth-protected-resource verarbeitet wird, anstatt 404 zurückzugeben, und die relevanten Tests erfolgreich sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
api, authentication
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.