Skip to content

Commit dcc2952

Browse files
committed
Fix OAuth secrets cleanup on server deletion and clear redirectUri as transient field
- Call deleteMcpServerSecret in removeMcpServer to clean up OAuth secrets (client_id, client_secret, refresh_token, PKCE state) from .mcp-secrets.json when a server is deleted - Add redirectUri to the fields cleared by clearTransientOAuthFields, matching the documented contract for transient fields
1 parent 8978b6c commit dcc2952

2 files changed

Lines changed: 4 additions & 0 deletions

File tree

apps/web/lib/mcp-secrets.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ export function clearTransientOAuthFields(key: string): void {
184184
...current,
185185
codeVerifier: null,
186186
oauthState: null,
187+
redirectUri: null,
187188
};
188189
writeAll(all);
189190
}

apps/web/lib/mcp-servers.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
22
import { join } from "node:path";
3+
import { deleteMcpServerSecret } from "@/lib/mcp-secrets";
34
import { resolveOpenClawStateDir } from "@/lib/workspace";
45

56
type UnknownRecord = Record<string, unknown>;
@@ -470,4 +471,6 @@ export function removeMcpServer(key: string): void {
470471
delete states[normalizedKey];
471472
writeStatesSidecar(states);
472473
}
474+
475+
deleteMcpServerSecret(normalizedKey);
473476
}

0 commit comments

Comments
 (0)