From 0dda77f008fc85dbcdf91c65a3a0fccae6f7ceca Mon Sep 17 00:00:00 2001 From: Maxwell <145994855+ping-maxwell@users.noreply.github.com> Date: Thu, 15 Jan 2026 08:08:32 +1000 Subject: [PATCH] fix: should return dates for expiration fields (#7351) Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> Co-authored-by: Alex Yang --- .../better-auth/src/api/routes/account.ts | 29 ++++++++++++------- .../__snapshots__/open-api.test.ts.snap | 7 ----- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/better-auth/src/api/routes/account.ts b/packages/better-auth/src/api/routes/account.ts index 0f68bcb50e..71eac2b4a8 100644 --- a/packages/better-auth/src/api/routes/account.ts +++ b/packages/better-auth/src/api/routes/account.ts @@ -484,17 +484,10 @@ export const getAccessToken = createAuthEndpoint( accessToken: { type: "string", }, - refreshToken: { - type: "string", - }, accessTokenExpiresAt: { type: "string", format: "date-time", }, - refreshTokenExpiresAt: { - type: "string", - format: "date-time", - }, }, }, }, @@ -590,14 +583,28 @@ export const getAccessToken = createAuthEndpoint( }); } } + + const accessTokenExpiresAt = (() => { + if (newTokens?.accessTokenExpiresAt) { + if (typeof newTokens.accessTokenExpiresAt === "string") { + return new Date(newTokens.accessTokenExpiresAt); + } + return newTokens.accessTokenExpiresAt; + } + if (account.accessTokenExpiresAt) { + if (typeof account.accessTokenExpiresAt === "string") { + return new Date(account.accessTokenExpiresAt); + } + return account.accessTokenExpiresAt; + } + return undefined; + })(); + const tokens = { accessToken: newTokens?.accessToken ?? (await decryptOAuthToken(account.accessToken ?? "", ctx.context)), - accessTokenExpiresAt: - newTokens?.accessTokenExpiresAt ?? - account.accessTokenExpiresAt ?? - undefined, + accessTokenExpiresAt, scopes: account.scope?.split(",") ?? [], idToken: newTokens?.idToken ?? account.idToken ?? undefined, }; diff --git a/packages/better-auth/src/plugins/open-api/__snapshots__/open-api.test.ts.snap b/packages/better-auth/src/plugins/open-api/__snapshots__/open-api.test.ts.snap index 728d339023..f0c40b25f6 100644 --- a/packages/better-auth/src/plugins/open-api/__snapshots__/open-api.test.ts.snap +++ b/packages/better-auth/src/plugins/open-api/__snapshots__/open-api.test.ts.snap @@ -1260,13 +1260,6 @@ exports[`open-api > should generate OpenAPI schema > openAPISchema 1`] = ` "idToken": { "type": "string", }, - "refreshToken": { - "type": "string", - }, - "refreshTokenExpiresAt": { - "format": "date-time", - "type": "string", - }, "tokenType": { "type": "string", },