Skip to content

protocol 2.0.0 + resource 3.0.0: code-only interaction, connection-only resource tokens - #28

Merged
dickhardt merged 2 commits into
mainfrom
onboarding/interaction-code
Sep 9, 2026
Merged

protocol 2.0.0 + resource 3.0.0: code-only interaction, connection-only resource tokens#28
dickhardt merged 2 commits into
mainfrom
onboarding/interaction-code

Conversation

@dickhardt

Copy link
Copy Markdown
Contributor

Section A of aauth-mcp/ONBOARDING-PLAN-2.md.

  • protocol 2.0.0requirement=interaction needs only code; url is optional on build and parse. The recipient composes {interaction_endpoint}?code= from the issuer's published metadata.
  • resource 3.0.0createResourceToken: scope REQUIRED only when a token will be issued; connectionOnly mints the POST /connections shape (interaction_code, account, no scope, no r3); interactionCode replaces the nested interaction: {url, code} claim. InteractionManager emits the code-only header; interactionUrl deprecated.
  • Workspace dependents (agent, fetch, mcp-openclaw) move to @aauth/protocol ^2.0.0 so the workspace link resolves. They are not bumped or published.

Lockfile edited by hand per CLAUDE.md. npm test at the root: 778 passed, 1 skipped.

Not merged, not published from the session: the local npm token is dead (npm whoami → 401).

🤖 Generated with Claude Code

https://claude.ai/code/session_012hgeZuY5n9QXZiG3pLACPb

dickhardt and others added 2 commits September 9, 2026 08:15
The agent composes {interaction_endpoint}?code= from the issuer's published
metadata, so the header no longer has to carry url=. buildRequirementHeader
emits url only when given; parseRequirementHeader requires code alone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012hgeZuY5n9QXZiG3pLACPb
createResourceToken: scope is REQUIRED only when a token will be issued;
connectionOnly mints the POST /connections shape (interaction_code, account,
no scope, no r3). interactionCode replaces the nested interaction {url, code}
claim. InteractionManager emits requirement=interaction with code only;
interactionUrl is deprecated. buildAAuthHeader('interaction') takes code
with url optional.

Dependents in the workspace (agent, fetch, mcp-openclaw) move to
@aauth/protocol ^2.0.0 so the workspace link resolves; not published here.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012hgeZuY5n9QXZiG3pLACPb
@dickhardt
dickhardt merged commit adcbcd5 into main Sep 9, 2026
1 check passed
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