client/auth: register dpop and wif scenarios as extensions (#401)

Move the DPoP scenarios (auth/dpop, auth/dpop-nonce) and the WIF
JWT-bearer scenario (auth/wif-jwt-bearer) off the draft spec timeline
and register them as the io.modelcontextprotocol/auth/dpop and
io.modelcontextprotocol/auth/wif protocol extensions (SEP-2133
reverse-DNS ids), so they run under --suite extensions rather than at
--spec-version draft.


Claude-Session: https://claude.ai/code/session_012E7BriGaLimJxQr7B7ChiM

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
claude[bot] 2026-07-10 17:44:27 +01:00 • committed by GitHub
commit ce25103b1b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -5,7 +5,7 @@ import type {
CheckStatus,
SpecReference
} from '../../../types';
import { ScenarioUrls, DRAFT_PROTOCOL_VERSION } from '../../../types';
import { ScenarioUrls } from '../../../types';
import {
createAuthServer,
type DpopTokenRequestObservation
@ -145,7 +145,9 @@ export function collapseDuplicateChecks(
export class DPoPClientScenario implements Scenario {
readonly name: string;
readonly source = { introducedIn: DRAFT_PROTOCOL_VERSION } as const;
readonly source = {
extensionId: 'io.modelcontextprotocol/auth/dpop'
} as const;
readonly description: string;
private authServer = new ServerLifecycle();