summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/mcp/oauth-provider.ts22
1 files changed, 22 insertions, 0 deletions
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<void> {
+ 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 }