chore: simplify oauth token expiry helpers

Co-authored-by: samanhappy <2755122+samanhappy@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-12-13 14:49:15 +00:00
parent 6fc0bd6a49
commit 58a73b6688
2 changed files with 6 additions and 8 deletions

View File

@@ -371,10 +371,7 @@ export class MCPHubOAuthProvider implements OAuthClientProvider {
} }
private getAccessTokenExpiryMs(oauth: NonNullable<ServerConfig['oauth']>): number | undefined { private getAccessTokenExpiryMs(oauth: NonNullable<ServerConfig['oauth']>): number | undefined {
const { accessTokenExpiresAt } = oauth; return oauth.accessTokenExpiresAt;
if (!accessTokenExpiresAt) return undefined;
if (typeof accessTokenExpiresAt === 'number') return accessTokenExpiresAt;
return undefined;
} }
private async refreshAccessTokenIfNeeded( private async refreshAccessTokenIfNeeded(
@@ -403,9 +400,9 @@ export class MCPHubOAuthProvider implements OAuthClientProvider {
this.serverConfig = updatedConfig; this.serverConfig = updatedConfig;
} }
const refreshTokenFromResponse = tokens.refreshToken; const newRefreshToken = tokens.refreshToken;
const nextRefreshToken = refreshTokenFromResponse ?? refreshToken; const nextRefreshToken = newRefreshToken ?? refreshToken;
if (refreshTokenFromResponse === undefined) { if (newRefreshToken === undefined) {
console.warn( console.warn(
`Refresh response missing refresh_token for ${this.serverName}; reusing existing refresh token (some providers omit refresh_token on refresh)`, `Refresh response missing refresh_token for ${this.serverName}; reusing existing refresh token (some providers omit refresh_token on refresh)`,
); );

View File

@@ -28,6 +28,7 @@ import type { ServerConfig } from '../../src/types/index.js';
describe('MCPHubOAuthProvider token refresh', () => { describe('MCPHubOAuthProvider token refresh', () => {
const NOW = 1_700_000_000_000; const NOW = 1_700_000_000_000;
const TEN_MINUTES_MS = 10 * 60 * 1_000;
let nowSpy: jest.SpyInstance<number, []>; let nowSpy: jest.SpyInstance<number, []>;
beforeEach(() => { beforeEach(() => {
@@ -92,7 +93,7 @@ describe('MCPHubOAuthProvider token refresh', () => {
...baseConfig, ...baseConfig,
oauth: { oauth: {
...baseConfig.oauth, ...baseConfig.oauth,
accessTokenExpiresAt: NOW + 10 * 60 * 1_000, accessTokenExpiresAt: NOW + TEN_MINUTES_MS,
}, },
}; };