diff --git a/packages/better-auth/src/api/routes/account.ts b/packages/better-auth/src/api/routes/account.ts index 63ce4d6a96..d6278edfda 100644 --- a/packages/better-auth/src/api/routes/account.ts +++ b/packages/better-auth/src/api/routes/account.ts @@ -517,11 +517,12 @@ export const getAccessToken = createAuthEndpoint( try { let newTokens: OAuth2Tokens | null = null; - + const accessTokenExpired = + account.accessTokenExpiresAt && + new Date(account.accessTokenExpiresAt).getTime() - Date.now() < 5_000; if ( account.refreshToken && - account.accessTokenExpiresAt && - account.accessTokenExpiresAt.getTime() - Date.now() < 5_000 && + accessTokenExpired && provider.refreshAccessToken ) { newTokens = await provider.refreshAccessToken( diff --git a/packages/better-auth/src/plugins/admin/admin.ts b/packages/better-auth/src/plugins/admin/admin.ts index 34c38a427c..bc8b226773 100644 --- a/packages/better-auth/src/plugins/admin/admin.ts +++ b/packages/better-auth/src/plugins/admin/admin.ts @@ -110,7 +110,7 @@ export const admin = (options?: O) => { if (user.banned) { if ( user.banExpires && - user.banExpires.getTime() < Date.now() + new Date(user.banExpires).getTime() < Date.now() ) { await ctx.context.internalAdapter.updateUser( session.userId, diff --git a/packages/better-auth/src/plugins/api-key/rate-limit.ts b/packages/better-auth/src/plugins/api-key/rate-limit.ts index fa4cd68252..7ae88b39dc 100644 --- a/packages/better-auth/src/plugins/api-key/rate-limit.ts +++ b/packages/better-auth/src/plugins/api-key/rate-limit.ts @@ -64,7 +64,7 @@ export function isRateLimited( }; } - const timeSinceLastRequest = now.getTime() - lastRequest.getTime(); + const timeSinceLastRequest = now.getTime() - new Date(lastRequest).getTime(); if (timeSinceLastRequest > rateLimitTimeWindow) { // Time window has passed, reset the request count. diff --git a/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts b/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts index 987a06f68a..3200fd0944 100644 --- a/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts +++ b/packages/better-auth/src/plugins/api-key/routes/verify-api-key.ts @@ -48,7 +48,7 @@ export async function validateApiKey({ if (apiKey.expiresAt) { const now = new Date().getTime(); - const expiresAt = apiKey.expiresAt.getTime(); + const expiresAt = new Date(apiKey.expiresAt).getTime(); if (now > expiresAt) { try { ctx.context.adapter.delete({ @@ -124,7 +124,7 @@ export async function validateApiKey({ let now = new Date().getTime(); const refillInterval = apiKey.refillInterval; const refillAmount = apiKey.refillAmount; - let lastTime = (lastRefillAt ?? apiKey.createdAt).getTime(); + let lastTime = new Date(lastRefillAt ?? apiKey.createdAt).getTime(); if (refillInterval && refillAmount) { // if they provide refill info, then we should refill once the interval is reached.