diff --git a/README.md b/README.md index b480db2e..aa22dd08 100644 --- a/README.md +++ b/README.md @@ -195,12 +195,15 @@ We leverage hooks to let you extend the session data with your own data or to lo ```ts // server/plugins/session.ts export default defineNitroPlugin(() => { - sessionHooks.hook('verify', async (session, event) => { + // Called when the session is fetched during SSR for the Vue composable (/api/_auth/session) + // Or when we call useUserSession().fetch() + sessionHooks.hook('fetch', async (session, event) => { // extend User Session by calling your database // or // throw createError({ ... }) if session is invalid for example }) + // Called when we call useServerSession().clear() or clearUserSession(event) sessionHooks.hook('clear', async (session, event) => { // Log that user logged out }) diff --git a/playground/server/plugins/session.ts b/playground/server/plugins/session.ts index 1da62b77..9433ea42 100644 --- a/playground/server/plugins/session.ts +++ b/playground/server/plugins/session.ts @@ -1,5 +1,5 @@ export default defineNitroPlugin(() => { - sessionHooks.hook('verify', async (session) => { + sessionHooks.hook('fetch', async (session) => { // Extend User Session // Or throw createError({ ... }) if session is invalid session.extended = { @@ -7,8 +7,9 @@ export default defineNitroPlugin(() => { } }) - sessionHooks.hook('clear', async () => { + sessionHooks.hook('clear', async (session) => { // Log that user logged out + console.log('User logged out') }) }) diff --git a/src/runtime/server/api/session.get.ts b/src/runtime/server/api/session.get.ts index 762f4a1c..9fe99e10 100644 --- a/src/runtime/server/api/session.get.ts +++ b/src/runtime/server/api/session.get.ts @@ -4,7 +4,7 @@ import { requireUserSession, sessionHooks } from '../utils/session' export default eventHandler(async (event) => { const session = await requireUserSession(event) - await sessionHooks.callHookParallel('verify', session, event) + await sessionHooks.callHookParallel('fetch', session, event) return session }) diff --git a/src/runtime/server/utils/session.ts b/src/runtime/server/utils/session.ts index e3e606e9..2f5b1c9f 100644 --- a/src/runtime/server/utils/session.ts +++ b/src/runtime/server/utils/session.ts @@ -11,7 +11,7 @@ export interface SessionHooks { * - Add extra properties to the session * - Throw an error if the session could not be verified (with a database for example) */ - 'verify': (session: UserSession, event: H3Event) => void | Promise + 'fetch': (session: UserSession, event: H3Event) => void | Promise /** * Called before clearing the session */