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.

Bewertung

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

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.

Beschreibung

area-auth bug help wanted needs confirmation P3

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
Vorherrschende Sprache
C#
Sterne
4.5k
Forks
814
Ø Merge
9 T. 19 Std.
Gemergte PRs (30 T.)
4

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus modelcontextprotocol/csharp-sdk

Alle Issues in modelcontextprotocol/csharp-sdk

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

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