import type {
AuthMeta,
AuthMode,
AuthRouteRules,
AuthSession,
AuthUser,
RequireSessionOptions,
UserMatch,
SignOutOptions,
} from '@onmax/nuxt-better-auth'
The user object returned by useUserSession().
Additional fields depend on your Better Auth plugins.
The session object returned by useUserSession().
AuthMetaUsed in page meta and routeRules.auth.
definePageMeta({ auth: 'user' satisfies AuthMeta })
definePageMeta({ auth: { only: 'guest', redirectTo: '/' } satisfies AuthMeta })
AuthRouteRulesExtends Nitro route rules with:
auth?: AuthMetaexport default defineNuxtConfig({
routeRules: {
'/dashboard': { auth: 'user' } satisfies AuthRouteRules,
},
})
UserMatch<T>Used for user matching in AuthMeta.user and RequireSessionOptions.user (OR logic for arrays, AND logic between fields).
RequireSessionOptionsThe options object for requireUserSession(event, options?).
SignOutOptionsUsed by signOut(options?) to run a post-sign-out callback:
await signOut({ onSuccess: () => navigateTo('/') })
Augment AuthUser / AuthSession by declaring module #nuxt-better-auth.
<script setup lang="ts">
import type { AuthUser } from '#nuxt-better-auth'
const props = defineProps<{
user: AuthUser
}>()
</script>
import type { AuthUser, AuthSession } from '#nuxt-better-auth'
export default defineEventHandler(async (event): Promise<AuthUser> => {
const { user } = await requireUserSession(event)
return user
})