Merged in fix/remove-session-on-sas-refresh-error (pull request #3204)

fix(sas auth): remove session when we get a RefreshAccessTokenError

* fix(sas auth): remove session when we get a RefreshAccessTokenError


Approved-by: Linus Flood
This commit is contained in:
Joakim Jäderberg
2025-11-24 07:35:58 +00:00
parent dd9ffecb02
commit aa007afedf
3 changed files with 20 additions and 2 deletions

View File

@@ -0,0 +1,12 @@
"use client"
import { signOut, useSession } from "next-auth/react"
export function SessionRefresher() {
const session = useSession()
if (session.data?.error === "RefreshAccessTokenError") {
signOut({ redirect: false })
}
return null
}

View File

@@ -28,6 +28,7 @@ import { BookingFlowProviders } from "../../components/BookingFlowProviders"
import { Footer } from "../../components/Footer/Footer"
import { Header } from "../../components/Header/Header"
import { SocialLoginProvider } from "./(auth)/SocialLogin"
import { SessionRefresher } from "./SessionRefresher"
export default async function RootLayout(props: LayoutProps<"/[lang]">) {
const params = await props.params
@@ -52,7 +53,12 @@ export default async function RootLayout(props: LayoutProps<"/[lang]">) {
</head>
<body className="scandic partner-sas">
<div className="root">
<SessionProvider basePath="/api/web/auth">
<SessionProvider
basePath="/api/web/auth"
refetchOnWindowFocus={true}
refetchInterval={60}
>
<SessionRefresher />
<ClientIntlProvider
defaultLocale={Lang.en}
locale={parsedLanguage}

View File

@@ -162,7 +162,7 @@ const config: NextAuthConfig = {
.subtract(PRE_REFRESH_TIME_IN_SECONDS, "seconds")
.isSameOrBefore(dt())
) {
refreshTokens(params.token)
return await refreshTokens(params.token)
}
return params.token