Merge branch 'AEB-71/navigation_and_dashboard' into 'main'
AEB-71: Added 3D navigation in monitoring zones See merge request wedeving/aerbim-www!13
This commit is contained in:
@@ -60,7 +60,24 @@ async function refreshAccessToken(token: GoogleToken): Promise<GoogleToken> {
|
||||
} catch {
|
||||
errorData = { error: errorText }
|
||||
}
|
||||
throw new Error(errorData.error || 'Token refresh failed')
|
||||
|
||||
const errorMessage = (errorData.error as string) || (errorData.detail as string) || ''
|
||||
if (typeof errorMessage === 'string' &&
|
||||
(errorMessage.includes('Token is expired') ||
|
||||
errorMessage.includes('expired') ||
|
||||
errorData.code === 'token_not_valid')) {
|
||||
console.warn('Refresh token expired, user needs to re-authenticate')
|
||||
return {
|
||||
...token,
|
||||
error: 'RefreshTokenExpired',
|
||||
}
|
||||
}
|
||||
|
||||
console.error('Token refresh failed:', errorData.error || 'Token refresh failed')
|
||||
return {
|
||||
...token,
|
||||
error: 'RefreshAccessTokenError',
|
||||
}
|
||||
}
|
||||
|
||||
const refreshedTokens = await response.json()
|
||||
@@ -176,6 +193,11 @@ export const authOptions: NextAuthOptions = {
|
||||
if (token) {
|
||||
session.accessToken = token.accessToken as string
|
||||
session.refreshToken = token.refreshToken as string
|
||||
|
||||
if (token.error === 'RefreshTokenExpired') {
|
||||
session.accessToken = undefined
|
||||
session.refreshToken = undefined
|
||||
}
|
||||
}
|
||||
return session
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user