[Client] Implement Dynamic Client Registration (RFC 7591) + pre-registered client support

Aperta
#320 1 commento 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
52/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
php

Direzione di ricerca

Inizia con il lavoro sui metadati AS in #318, quindi esamina Mcp\Client\Auth\DynamicClientRegistrar, Client\Builder e TokenStorageInterface. Esegui lo scenario di conformità auth/pre-registration e aggiungi i test unitari richiesti per la struttura della richiesta di registrazione e l’aggiramento della pre-registrazione. Il lavoro è completato quando lo scenario ha esito positivo e le credenziali restituite vengono persistite.

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

Descrizione

auth Client enhancement improves spec compliance

Context

When no client credentials are pre-configured and AS metadata advertises registration_endpoint, the client must POST client_metadata to register itself dynamically. When credentials are pre-provided via Builder, skip registration.

Scope

  • Mcp\Client\Auth\DynamicClientRegistrar:
    • POST client_metadata (client_name, redirect_uris, grant_types, token_endpoint_auth_method, software_id, software_version) to registration_endpoint.
    • Persist returned client_id / client_secret / client_secret_expires_at via TokenStorageInterface.
  • Client\Builder::setOAuthClient(string $clientId, ?string $clientSecret = null) for pre-registration.

Conformance scenarios unblocked

auth/pre-registration (and unblocks every other auth scenario by providing a client_id).

Dependencies

Blocked by: #318 (AS metadata gives registration_endpoint).

Acceptance

  • Unit tests for registration request shape + pre-registration bypass.
  • Conformance: auth/pre-registration 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.