From 0f23333a9faa146028b1c2d8c0f3f30fb2b9578b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 30 Jul 2024 12:22:34 +0200 Subject: [PATCH 1/2] fix: always return 200 for session endpoint --- src/runtime/server/api/session.get.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/runtime/server/api/session.get.ts b/src/runtime/server/api/session.get.ts index 9fe99e10..04255452 100644 --- a/src/runtime/server/api/session.get.ts +++ b/src/runtime/server/api/session.get.ts @@ -1,10 +1,13 @@ import { eventHandler } from 'h3' -import { requireUserSession, sessionHooks } from '../utils/session' +import { getUserSession, sessionHooks } from '../utils/session' +import type { UserSessionRequired } from '#auth-utils' export default eventHandler(async (event) => { - const session = await requireUserSession(event) + const session = await getUserSession(event) - await sessionHooks.callHookParallel('fetch', session, event) + if (session.user) { + await sessionHooks.callHookParallel('fetch', session as UserSessionRequired, event) + } return session }) From ddd5ba19e3f115fb9e6d03f43b54ac729cf33231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 30 Jul 2024 12:26:01 +0200 Subject: [PATCH 2/2] chore: add test --- test/basic.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/basic.test.ts b/test/basic.test.ts index 92fa9ed5..d5e7311e 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -20,4 +20,10 @@ describe('ssr', async () => { const html = await $fetch('/') expect(html).toContain('
Nuxt Auth Utils
') }) + + it('returns an empty session', async () => { + // Get response to a server-rendered page with `$fetch`. + const session = await $fetch('/api/_auth/session') + expect(session).toStrictEqual({}) + }) })