diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 3301592..5b91f93 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -4,11 +4,16 @@ import { authOptions } from "@/config/authConfig"; import { I18nProvider } from "@/i18n"; import LoginPage from "@/components/LoginPage/LoginPage"; -const Login: React.FC = async () => { +type Props = { searchParams?: Promise<{ [key: string]: string | string[] | undefined }> }; + +const Login: React.FC = async ({ searchParams }) => { const session = await getServerSession(authOptions); + const params = await searchParams; + const sessionParam = params?.session; + const forceLogin = sessionParam === "expired" || (Array.isArray(sessionParam) && sessionParam.includes("expired")); const now = Math.floor(Date.now() / 1000); const notExpired = !session?.exp || session.exp > now; - if (session?.user && notExpired) { + if (session?.user && notExpired && !forceLogin) { redirect("/"); }