diff --git a/pages/api/auth/[...nextauth].ts b/pages/api/auth/[...nextauth].ts
index df09a03ab9d77df5444b950b420d7e9add573220..da009ee94036f6328e16f779705b9e7f55107e0a 100644
--- a/pages/api/auth/[...nextauth].ts
+++ b/pages/api/auth/[...nextauth].ts
@@ -28,15 +28,16 @@ async function refreshAccessToken (token: any) {
     if (!response.ok) {
       throw refreshedTokens
     }
+    console.log('### refreshToken', refreshedTokens, '### ### ###')
 
     return {
       ...token,
       accessToken: refreshedTokens.access_token,
-      accessTokenExpires: Date.now() + refreshedTokens.expires_in * 1000,
+      accessTokenExpires: refreshedTokens.expires_at,
       refreshToken: refreshedTokens.refresh_token ?? token.refreshToken // Fall back to old refresh token
     }
   } catch (error) {
-    console.log(error)
+    console.log('### RefreshAccessTokenError', error, '### ### ###')
 
     return {
       ...token,
@@ -93,14 +94,14 @@ export const authOptions = {
       if (account && user) {
         return {
           accessToken: account.access_token,
-          accessTokenExpires: Date.now() + account.expires_in * 1000,
+          accessTokenExpires: account.expires_at,
           refreshToken: account.refresh_token,
           user
         }
       }
 
-      // Return previous token if the access token has not expired yet
-      if (Date.now() < token.accessTokenExpires) {
+      // Return previous token if the access token will still not be expired in 60 seconds.
+      if (Date.now() + 60000 < token.accessTokenExpires) {
         return token
       }