[Client] Implement Cross-App Access (token exchange, RFC 8693)

Aperta
#325 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
php

Direzione di ricerca

Inizia con Mcp\Client\Auth\Grant\TokenExchangeGrant e rivedi le dipendenze #321 e #318 per l’autenticazione del token-endpoint e i requisiti del builder. Usa i parametri della request indicati come struttura di destinazione, aggiungi la copertura dei test unitari per tale struttura ed esegui lo scenario di conformità auth/cross-app-access-complete-flow; il lavoro è completato quando lo scenario ha esito positivo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

auth Client enhancement improves spec compliance

Context

Cross-App Access (XAA) lets an MCP client present an existing IdP id_token to the MCP server's authorization server to obtain a scoped access token for the MCP resource. Uses grant_type=urn:ietf:params:oauth:grant-type:token-exchange (RFC 8693).

Scope

  • Mcp\Client\Auth\Grant\TokenExchangeGrant:
    • Body params: grant_type=urn:ietf:params:oauth:grant-type:token-exchange, subject_token=<idp_id_token>, subject_token_type=urn:ietf:params:oauth:token-type:id_token, audience=<mcp_resource>, optional scope.
    • Authenticate to token endpoint per #321.
  • Builder API to supply IdP id_token + IdP issuer/token_endpoint discovery (needed by the conformance harness; see #325).

Conformance scenarios unblocked

auth/cross-app-access-complete-flow.

Dependencies

Blocked by: #321, #318.

Acceptance

  • Unit tests for token exchange request shape.
  • Conformance: scenario passes.

cc @soyuka

Lingua principale
PHP
Stelle
1.6k
Fork
173
Merge medio
2g 49m
PR unite (30g)
23

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelcontextprotocol/php-sdk

Tutte le issue di modelcontextprotocol/php-sdk

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.