feat (auth): add sep-2207 client checks#166
Draft
wdawson wants to merge 1 commit intomodelcontextprotocol:mainfrom
Draft
feat (auth): add sep-2207 client checks#166wdawson wants to merge 1 commit intomodelcontextprotocol:mainfrom
wdawson wants to merge 1 commit intomodelcontextprotocol:mainfrom
Conversation
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add SEP-2207 (OIDC Refresh Token Guidance) conformance tests as a draft suite
Motivation and Context
SEP-2207 adds normative guidance for MCP clients around
offline_accessscope andrefresh_tokengrant type handling when interacting with OIDC authorization servers. This PR adds conformance tests for the client-side requirements, so SDK authors can validate their implementations against the draft spec.Server-side guidance (SHOULD NOT include
offline_accessin PRM/WWW-Authenticate) depends on #105 and #155How Has This Been Tested?
modelcontextprotocol/python-sdk)isTierScoring()filteringspecVersions: ['draft']Breaking Changes
None. Draft scenarios are non-scoring and only run when explicitly requested via
--suite draftor--spec-version draft.Types of changes
Checklist
Additional context
New scenarios:
auth/offline-access-scopesep-2207-client-metadata-grant-types,sep-2207-offline-access-requestedoffline_accessinscopes_supported. Verifies client includesrefresh_tokenin grant_types (SHOULD, via DCR or CIMD) and requestsoffline_accessscope (MAY).auth/offline-access-not-supportedsep-2207-offline-access-not-requestedoffline_access. Verifies client does not request it (MUST NOT).Also moved
auth/resource-mismatchfromauthScenariosListtodraftScenariosList— it already hadspecVersions: ['draft']but was incorrectly in the tier-required list.Design decisions:
grant_typescheck is attempted instop()(async) by fetching the client_id URL. Falls back to INFO if URL is unreachable (e.g., fake CIMD URLs in test environments).offline_accesswhen AS doesn't support it is FAILURE (unsupported scope), not WARNING.AI Disclosure: AI assisted with implementation and test authoring. All changes were reviewed and guided by hand.