modelcontextprotocol / modelcontextprotocol/php-sdk
[Client][Auth] SEP-2468: Validate iss parameter in authorization response (RFC 9207)
Nessuno ha ancora preso questa issue.
- Lingua principale
- PHP
- Stelle
- 1.6k
- Fork
- 173
- Merge medio
- 2g 49m
- PR unite (30g)
- 23
Descrizione
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)
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalla gestione del redirect dell’authorization code del client e dallo stato dei metadati dell’AS che ha prodotto l’URL authorization_endpoint. Esamina le basi di Auth Code + PKCE in #319 e i requisiti di RFC 9207; il lavoro è completo quando si valida l’iss restituito rispetto all’authorization server che ha avviato la richiesta, inclusi i flussi con più AS.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- authentication, security
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 52/100