Skip to content

feat(auth): add EMA refresh-token conformance scenario - #484

Open
nicksteele-oai wants to merge 1 commit into
modelcontextprotocol:mainfrom
nicksteele-oai:dev/steele/ema-refresh-token-conformance
Open

feat(auth): add EMA refresh-token conformance scenario#484
nicksteele-oai wants to merge 1 commit into
modelcontextprotocol:mainfrom
nicksteele-oai:dev/steele/ema-refresh-token-conformance

Conversation

@nicksteele-oai

Copy link
Copy Markdown

The existing EMA client scenario only exercises an ID-token subject. Add auth/enterprise-managed-authorization-refresh-token for clients supporting the optional refresh-token exchange described in ID-JAG §4.3.

Reuse the existing scenario and TypeScript example while retaining the ID-token profile. The new fixture checks IdP client binding, audience/resource restrictions, scope narrowing, and completed MCP access with the issued token. Eleven negative cases cover invalid exchanges, scope escalation, and incomplete or invalid MCP access. README is unchanged.

Validation:

  • npm run check, npm run build, and npm test: 536 tests passed.
  • Existing CLI with the TypeScript example: 11 checks passed.
  • Existing CLI with the actual rmcp EMA helper from rust-sdk#1234 at dc26f27a8228: 11 checks passed, including both exchanges and tools/list / tools/call.

SDK runs used local fixtures with MCP 2025-11-25 and --force; live IdP interoperability remains untested.

Related: #470 covers Resource AS conformance; this draft adds client-side coverage.

@nicksteele-oai
nicksteele-oai marked this pull request as ready for review September 2, 2026 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant