Skip to content

Scope connectors and auth by principal - #516

Merged
zackbart merged 1 commit into
mainfrom
feat/principal-scoped-connectors
Aug 31, 2026
Merged

Scope connectors and auth by principal#516
zackbart merged 1 commit into
mainfrom
feat/principal-scoped-connectors

Conversation

@zackbart

Copy link
Copy Markdown
Owner

Summary

  • derive each caller's connector view from deployment-owned code while keeping one MCP endpoint
  • support shared or per-principal connector auth, storage, catalogs, credentials, OAuth state, and result partitions
  • let interactive users manage auth for every visible connector; personal auth changes only their partition, while shared auth changes the deployment-wide grant
  • keep deployment token issuance and global activity behind identity.operatorAccess
  • make the Worker example Clerk-free while retaining Clerk for the Node/Docker template
  • teach deployment agents the complete Claude and ChatGPT callback allowlist for Cloudflare Managed OAuth

Security and compatibility

  • reject unknown connector ids from identity resolvers and fail resolver errors closed
  • bind encrypted credential records and personal OAuth handoffs to pseudonymous principal partitions
  • refuse a personal OAuth callback when an authenticated browser principal did not initiate it
  • keep noninteractive access tokens out of credential mutation and operator routes while preserving their creator's personal connector access
  • preserve the legacy all-visible, all-interactive-humans-are-operators behavior when identity rules are omitted
  • document the authenticated-subject result paging boundary and Cloudflare KV's best-effort handoff consumption

Review

Fable 5 performed a cold review of the complete working tree and found no merge blockers. Its actionable OAuth, upgrade, provider-fallthrough, wording, and provenance findings are addressed here.

Verification

  • npm run release:check
  • 118 test files, 2,796 passing tests, 40 skipped
  • Node and workerd projects passed
  • docs, generated operator UI, lint, unused exports, typecheck, build, examples, audit, and package smoke passed
  • Docker package smoke skipped because Docker is unavailable

@zackbart
zackbart merged commit cbb74b9 into main Aug 31, 2026
2 checks passed
@zackbart
zackbart deleted the feat/principal-scoped-connectors branch August 31, 2026 20:43
zackbart added a commit that referenced this pull request Aug 31, 2026
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