From fb79dd7bf857a95a6045209cc1f3f859563a8081 Mon Sep 17 00:00:00 2001 From: Eduardo Gomes Date: Tue, 17 Feb 2026 19:46:26 +0100 Subject: [PATCH] fix: Invalidate oauth credentials when oauth provider says so (#14007) Co-authored-by: Eduardo Gomes --- packages/opencode/src/mcp/oauth-provider.ts | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/opencode/src/mcp/oauth-provider.ts b/packages/opencode/src/mcp/oauth-provider.ts index 35ead25e8..164b1d1f1 100644 --- a/packages/opencode/src/mcp/oauth-provider.ts +++ b/packages/opencode/src/mcp/oauth-provider.ts @@ -149,6 +149,28 @@ export class McpOAuthProvider implements OAuthClientProvider { } return entry.oauthState } + + async invalidateCredentials(type: "all" | "client" | "tokens"): Promise { + log.info("invalidating credentials", { mcpName: this.mcpName, type }) + const entry = await McpAuth.get(this.mcpName) + if (!entry) { + return + } + + switch (type) { + case "all": + await McpAuth.remove(this.mcpName) + break + case "client": + delete entry.clientInfo + await McpAuth.set(this.mcpName, entry) + break + case "tokens": + delete entry.tokens + await McpAuth.set(this.mcpName, entry) + break + } + } } export { OAUTH_CALLBACK_PORT, OAUTH_CALLBACK_PATH }