modelcontextprotocol / modelcontextprotocol/php-sdk

[Client] Add OAuth 2025-03-26 metadata backcompat fallback

Ouverte
#326 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

auth Client enhancement improves spec compliance
Langage dominant
PHP
Étoiles
1.6k
Forks
173
Merge moyen
2 j 49 min
PR mergées (30 j)
23

Description

Context

Older MCP servers (spec revision 2025-03-26) do not publish /.well-known/oauth-protected-resource. The client must fall back to discovering OAuth metadata directly from the MCP server origin's /.well-known/oauth-authorization-server and, if missing, from the issuer derived by URL convention.

Scope

  • Order of operations when WWW-Authenticate lacks resource_metadata:
    1. Try /.well-known/oauth-protected-resource at MCP server origin.
    2. Try /.well-known/oauth-authorization-server at MCP server origin.
    3. Fall back to OIDC discovery (/.well-known/openid-configuration).
  • Track protocol revision negotiated during initialize; only enable fallback chain when the server announced 2025-03-26.

Conformance scenarios unblocked

auth/2025-03-26-oauth-metadata-backcompat, auth/2025-03-26-oauth-endpoint-fallback.

Dependencies

Blocked by: #317, #318.

Acceptance

  • Unit tests covering all fallback branches.
  • Conformance: 2 baseline scenarios pass.

cc @soyuka

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par retracer la négociation de initialize du client PHP et son traitement de WWW-Authenticate lorsque resource_metadata est absent. Implémentez et testez les branches de découverte ordonnées pour l’origine MCP et l’URL dérivée de issuer, conditionnées par revision 2025-03-26. Vérifiez les branches des tests unitaires ainsi que les scénarios de conformité auth/2025-03-26-oauth-metadata-backcompat et auth/2025-03-26-oauth-endpoint-fallback une fois les blocages #317 et #318 résolus.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
api, authentication
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Clairement spécifiée
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.