Skip to content

Commit 26f4aa0

Browse files
authored
fix: always return 200 for session endpoint (#130)
* fix: always return 200 for session endpoint * chore: add test
1 parent a4cfa89 commit 26f4aa0

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/runtime/server/api/session.get.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { eventHandler } from 'h3'
2-
import { requireUserSession, sessionHooks } from '../utils/session'
2+
import { getUserSession, sessionHooks } from '../utils/session'
3+
import type { UserSessionRequired } from '#auth-utils'
34

45
export default eventHandler(async (event) => {
5-
const session = await requireUserSession(event)
6+
const session = await getUserSession(event)
67

7-
await sessionHooks.callHookParallel('fetch', session, event)
8+
if (session.user) {
9+
await sessionHooks.callHookParallel('fetch', session as UserSessionRequired, event)
10+
}
811

912
return session
1013
})

test/basic.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,10 @@ describe('ssr', async () => {
2020
const html = await $fetch('/')
2121
expect(html).toContain('<div>Nuxt Auth Utils</div>')
2222
})
23+
24+
it('returns an empty session', async () => {
25+
// Get response to a server-rendered page with `$fetch`.
26+
const session = await $fetch('/api/_auth/session')
27+
expect(session).toStrictEqual({})
28+
})
2329
})

0 commit comments

Comments
 (0)