modelcontextprotocol / modelcontextprotocol/php-sdk
[Client] Implement Authorization Server Metadata discovery (RFC 8414)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- PHP
- Sterne
- 1.6k
- Forks
- 173
- Ø Merge
- 2 T. 49 Min.
- Gemergte PRs (30 T.)
- 23
Beschreibung
Context
Once the AS issuer is known (from PRM), the client must fetch its metadata at /.well-known/oauth-authorization-server (RFC 8414) to learn the authorization_endpoint, token_endpoint, registration_endpoint, scopes_supported, token_endpoint_auth_methods_supported, and grant_types_supported.
Scope
Mcp\Client\Auth\AuthorizationServerMetadataDiscoverer.- Cache resolved metadata per issuer (TTL via PSR-16 if
TokenStorageis backed by it). - Fall back to OpenID Connect discovery (
/.well-known/openid-configuration) when RFC 8414 endpoint 404s.
Conformance scenarios unblocked
auth/metadata-* (full set), auth/scope-from-scopes-supported.
Dependencies
Blocked by: #317 (PRM provides the issuer URL).
Acceptance
- Unit tests covering RFC 8414 + OIDC fallback.
- Reuses existing
Mcp\Server\Transport\Http\OAuth\OidcDiscoveryfor shape parity if practical.
cc @soyuka
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit der Überprüfung von Mcp\Client\Auth\AuthorizationServerMetadataDiscoverer und der bestehenden Mcp\Server\Transport\Http\OAuth\OidcDiscovery auf kompatible Metadatenstrukturen. Prüfen Sie die Conformance-Szenarien auth/metadata-* und auth/scope-from-scopes-supported und verifizieren Sie anschließend die RFC-8414-Discovery, den OIDC-Fallback, das Issuer-Caching und die angeforderte Unit-Test-Abdeckung.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- api, authentication
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 55/100