Skip to content

feat: authenticate Claude plugin with OAuth DCR and PKCE - #121

Open
ishaanxgupta wants to merge 1 commit into
mainfrom
ishaan/claude-plugin-oauth-dcr
Open

ishaanxgupta wants to merge 1 commit into
mainfrom
ishaan/claude-plugin-oauth-dcr

Conversation

@ishaanxgupta

@ishaanxgupta ishaanxgupta commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Browser sign-in currently creates a long-lived API key with no registered OAuth client identity. New Claude plugin logins now use the same authorization server and organization/scope consent flow as Supermemory MCP: discover the provider, register a public client, authorize with S256 PKCE and a random state, and exchange a code for access/refresh tokens.

The registration is persisted separately from credentials and reused across logins. Each local credential profile has its own client ID. API hooks and the hosted MCP proxy share the tokens; the proxy reloads credentials for each message so it also recovers when login finishes after startup. Refresh rotation is serialized across hook/proxy processes and credentials are replaced atomically with owner-only permissions. Invalid grants require reauthentication; invalid clients cause a fresh registration on the next login. Transient failures preserve credentials and hooks continue to fail open within bounded timeouts.

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