mirror of
https://github.com/samanhappy/mcphub.git
synced 2025-12-23 18:29:21 -05:00
chore: simplify oauth token expiry helpers
Co-authored-by: samanhappy <2755122+samanhappy@users.noreply.github.com>
This commit is contained in:
@@ -371,10 +371,7 @@ export class MCPHubOAuthProvider implements OAuthClientProvider {
|
||||
}
|
||||
|
||||
private getAccessTokenExpiryMs(oauth: NonNullable<ServerConfig['oauth']>): 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)`,
|
||||
);
|
||||
|
||||
@@ -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<number, []>;
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -92,7 +93,7 @@ describe('MCPHubOAuthProvider token refresh', () => {
|
||||
...baseConfig,
|
||||
oauth: {
|
||||
...baseConfig.oauth,
|
||||
accessTokenExpiresAt: NOW + 10 * 60 * 1_000,
|
||||
accessTokenExpiresAt: NOW + TEN_MINUTES_MS,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user