From a63ae39b1becc78741164350d81120fe6d3da4a0 Mon Sep 17 00:00:00 2001 From: TZGyn Date: Sat, 17 Aug 2024 16:48:33 +0800 Subject: [PATCH] fix middleware redirect broken if request has a invalid session --- frontend/src/hooks.server.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index 5f11c4c..2609814 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -48,9 +48,18 @@ export const handle: Handle = async ({ event, resolve }) => { const authPaths = ['/login', '/signup'] if (authPaths.includes(pathname)) { - if (sessionId) { + if (!sessionId) { + event.locals.session = null + const response = await resolve(event) + + return response + } + + const { session, user } = await lucia.validateSession(sessionId) + if (user) { redirect(303, '/dashboard') } + event.locals.session = null const response = await resolve(event)