fix: getAcccessToken refresh should properly refresh when oauth tokens are encrypted (#5094)

This commit is contained in:
bsklaroff
2025-10-15 00:45:15 +00:00
committed by GitHub
parent af03d5fc69
commit 16236af96f
@@ -535,9 +535,11 @@ export const getAccessToken = createAuthEndpoint(
accessTokenExpired &&
provider.refreshAccessToken
) {
newTokens = await provider.refreshAccessToken(
account.refreshToken as string,
const refreshToken = await decryptOAuthToken(
account.refreshToken,
ctx.context,
);
newTokens = await provider.refreshAccessToken(refreshToken);
await ctx.context.internalAdapter.updateAccount(account.id, {
accessToken: await setTokenUtil(newTokens.accessToken, ctx.context),
accessTokenExpiresAt: newTokens.accessTokenExpiresAt,
@@ -546,10 +548,9 @@ export const getAccessToken = createAuthEndpoint(
});
}
const tokens = {
accessToken: await decryptOAuthToken(
newTokens?.accessToken ?? account.accessToken ?? "",
ctx.context,
),
accessToken:
newTokens?.accessToken ??
(await decryptOAuthToken(account.accessToken ?? "", ctx.context)),
accessTokenExpiresAt:
newTokens?.accessTokenExpiresAt ??
account.accessTokenExpiresAt ??