Core Concepts
Auto‑Imports and Aliases
What the module registers for you.
Prompt
Use auto-imported utilities from @onmax/nuxt-better-auth.
- Client (auto-imported in Vue): `useUserSession()`, `useSignIn()`, `useSignUp()`
- Server (auto-imported in `server/`): `serverAuth(event?)`, `getRequestSession(event)`, `getUserSession(event)`, `requireUserSession(event, options?)`
- Component: `<BetterAuthState>` for auth-ready rendering
- Alias `#nuxt-better-auth` exports types: `AuthUser`, `AuthSession`, `AuthSocialProviderId`
- Use `getRequestSession(event)` over repeated `getUserSession(event)` calls — it caches per request
Read more: https://better-auth.nuxt.dev/raw/core-concepts/auto-imports-aliases.md
Source: https://github.com/nuxt-modules/better-auth
Auto‑imports
Client
useUserSession()useSignIn()useSignUp()
Server
serverAuth(event?)getRequestSession(event)getUserSession(event)requireUserSession(event, options?)
Components
<BetterAuthState>
Usage Examples
Server Utils (auto-imported in server/)
server/api/profile.ts
export default defineEventHandler(async (event) => {
// These are auto-imported, no import statement needed
const requestSession = await getRequestSession(event)
const session = await getUserSession(event)
const auth = serverAuth(event)
})
Use getRequestSession(event) when multiple handlers or middleware in the same request need session data. The helper should be preferred over repeated getUserSession(event) calls in the same request chain.
getUserSession(event) does not memoize by itself.
Client Composables (auto-imported in Vue components)
pages/dashboard.vue
<script setup>
// Auto-imported, no import statement needed
const { user, loggedIn } = useUserSession()
</script>
Aliases
| Alias | Resolves to |
|---|---|
#nuxt-better-auth | Module types (AuthUser, AuthSession, AuthSocialProviderId) |