From 914ac36f238851800097307d467f256bc1449208 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 14:36:16 +0000 Subject: [PATCH] chore: address review feedback for oauth refresh Co-authored-by: samanhappy <2755122+samanhappy@users.noreply.github.com> --- src/services/mcpOAuthProvider.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/services/mcpOAuthProvider.ts b/src/services/mcpOAuthProvider.ts index ea81deb..b532097 100644 --- a/src/services/mcpOAuthProvider.ts +++ b/src/services/mcpOAuthProvider.ts @@ -354,7 +354,7 @@ export class MCPHubOAuthProvider implements OAuthClientProvider { // Refresh if token is expired or about to expire const expiresAt = this.getAccessTokenExpiryMs(oauth); const now = Date.now(); - if ((expiresAt && expiresAt - now <= 60_000) || !oauth.accessToken) { + if (expiresAt && expiresAt - now <= 60_000) { const refreshed = await this.refreshAccessTokenIfNeeded(oauth.refreshToken); if (refreshed) { return refreshed; @@ -405,9 +405,16 @@ export class MCPHubOAuthProvider implements OAuthClientProvider { this.serverConfig = updatedConfig; } + const nextRefreshToken = tokens.refreshToken ?? refreshToken; + if (tokens.refreshToken === undefined) { + console.warn( + `Refresh response missing refresh_token for ${this.serverName}, reusing existing token`, + ); + } + return { access_token: tokens.accessToken, - refresh_token: tokens.refreshToken ?? refreshToken, + refresh_token: nextRefreshToken, token_type: 'Bearer', expires_in: tokens.expiresIn, };