modelcontextprotocol / modelcontextprotocol/php-sdk
[Client] Implement Cross-App Access (token exchange, RFC 8693)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- PHP
- Estrellas
- 1.6k
- Forks
- 173
- Merge medio
- 2 d 49 min
- PR fusionados (30 d)
- 23
Descripción
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>, optionalscope. - Authenticate to token endpoint per #321.
- Body params:
- 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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con Mcp\Client\Auth\Grant\TokenExchangeGrant y revisa las dependencias #321 y #318 para la autenticación del token-endpoint y los requisitos del builder. Usa los parámetros de request indicados como estructura objetivo, añade cobertura de unit tests para esa estructura y ejecuta el escenario de conformidad auth/cross-app-access-complete-flow; se considera terminado cuando el escenario pasa.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- api, authentication
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100