From 58a73b66884574628289c86390b67a084d7e5df3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 14:49:15 +0000 Subject: [PATCH] chore: simplify oauth token expiry helpers Co-authored-by: samanhappy <2755122+samanhappy@users.noreply.github.com> --- src/services/mcpOAuthProvider.ts | 11 ++++------- tests/services/mcpOAuthProvider.test.ts | 3 ++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/services/mcpOAuthProvider.ts b/src/services/mcpOAuthProvider.ts index bc073c9..a90a7e3 100644 --- a/src/services/mcpOAuthProvider.ts +++ b/src/services/mcpOAuthProvider.ts @@ -371,10 +371,7 @@ export class MCPHubOAuthProvider implements OAuthClientProvider { } private getAccessTokenExpiryMs(oauth: NonNullable): number | undefined { - const { accessTokenExpiresAt } = oauth; - if (!accessTokenExpiresAt) return undefined; - if (typeof accessTokenExpiresAt === 'number') return accessTokenExpiresAt; - return undefined; + return oauth.accessTokenExpiresAt; } private async refreshAccessTokenIfNeeded( @@ -403,9 +400,9 @@ export class MCPHubOAuthProvider implements OAuthClientProvider { this.serverConfig = updatedConfig; } - const refreshTokenFromResponse = tokens.refreshToken; - const nextRefreshToken = refreshTokenFromResponse ?? refreshToken; - if (refreshTokenFromResponse === undefined) { + const newRefreshToken = tokens.refreshToken; + const nextRefreshToken = newRefreshToken ?? refreshToken; + if (newRefreshToken === undefined) { console.warn( `Refresh response missing refresh_token for ${this.serverName}; reusing existing refresh token (some providers omit refresh_token on refresh)`, ); diff --git a/tests/services/mcpOAuthProvider.test.ts b/tests/services/mcpOAuthProvider.test.ts index 059a5d7..0de5d76 100644 --- a/tests/services/mcpOAuthProvider.test.ts +++ b/tests/services/mcpOAuthProvider.test.ts @@ -28,6 +28,7 @@ import type { ServerConfig } from '../../src/types/index.js'; describe('MCPHubOAuthProvider token refresh', () => { const NOW = 1_700_000_000_000; + const TEN_MINUTES_MS = 10 * 60 * 1_000; let nowSpy: jest.SpyInstance; beforeEach(() => { @@ -92,7 +93,7 @@ describe('MCPHubOAuthProvider token refresh', () => { ...baseConfig, oauth: { ...baseConfig.oauth, - accessTokenExpiresAt: NOW + 10 * 60 * 1_000, + accessTokenExpiresAt: NOW + TEN_MINUTES_MS, }, };