modelcontextprotocol / modelcontextprotocol/php-sdk
[Client][Auth] SEP-2468: Validate iss parameter in authorization response (RFC 9207)
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
Implements SEP-2468 for the MCP Spec 2026-07-28 release.
Tracked by umbrella #338.
Spec summary
Requires MCP authorization responses to include an explicit
iss(issuer) parameter per RFC 9207. Clients MUST validateissagainst the AS that initiated the flow to mitigate authorization mix-up attacks in multi-IdP environments.
PHP SDK changes
- When handling the authorization-code redirect, the client must validate the returned
issmatches the AS that produced theauthorization_endpointURL. - Required for any multi-AS scenario; cross-cuts with #319 (Auth Code + PKCE) but filed separately because the validation logic crosses callback + AS-metadata state.
- Server-side: N/A — MCP servers are resource servers, not authorization servers;
issis emitted by the AS.
Related
- Umbrella #338
- Sub-task / depends on: #319 (Auth Code + PKCE foundation)
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
Beginne mit der Verarbeitung der Authorization-Code-Weiterleitung des Clients und dem AS-Metadatenstatus, aus dem die authorization_endpoint-URL hervorgegangen ist. Überprüfe die Grundlage für Auth Code + PKCE in #319 und die Anforderungen in RFC 9207; als abgeschlossen gilt die Validierung des zurückgegebenen iss gegen den initiierenden Authorization Server, einschließlich Flows mit mehreren AS.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- authentication, security
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100