nuxt-better-auth

Review·Scanned 2/17/2026

Documents a Nuxt authentication module nuxt-better-auth providing client/server composables, route protection, plugins and database integration. It contains shell commands like pnpm add @onmax/nuxt-better-auth better-auth and npx nuxt db generate, requires secrets such as BETTER_AUTH_SECRET/runtimeConfig.github.clientSecret, and configures external endpoints like https://auth.example.com.

by onmax·v6205807·29.1 KB·593 installs
Scanned from main at 6205807 · Transparency log ↗
$ vett add onmax/nuxt-skills/nuxt-better-authReview findings below

Nuxt Better Auth

Authentication module for Nuxt 4+ built on Better Auth. Provides composables, server utilities, and route protection.

Alpha Status: This module is currently in alpha (v0.0.2-alpha.19) and not recommended for production use. APIs may change.

When to Use

  • Installing/configuring @onmax/nuxt-better-auth
  • Implementing login/signup/signout flows
  • Protecting routes (client and server)
  • Accessing user session in API routes
  • Integrating Better Auth plugins (admin, passkey, 2FA)
  • Setting up database with NuxtHub
  • Using clientOnly mode for external auth backends
  • Adding i18n support with @nuxtjs/i18n

For Nuxt patterns: use nuxt skill For NuxtHub database: use nuxthub skill

Available Guidance

FileTopics
references/installation.mdModule setup, env vars, config files
references/client-auth.mduseUserSession, signIn/signUp/signOut, BetterAuthState, safe redirects
references/server-auth.mdserverAuth, getUserSession, requireUserSession
references/route-protection.mdrouteRules, definePageMeta, middleware
references/plugins.mdBetter Auth plugins (admin, passkey, 2FA)
references/database.mdNuxtHub integration, Drizzle schema, custom tables with FKs
references/client-only.mdExternal auth backend, clientOnly mode, CORS
references/types.mdAuthUser, AuthSession, type augmentation

Loading Files

Consider loading these reference files based on your task:

  • references/installation.md - if installing or configuring the module
  • references/client-auth.md - if building login/signup/signout flows
  • references/server-auth.md - if protecting API routes or accessing user session server-side
  • references/route-protection.md - if using routeRules or definePageMeta for auth
  • references/plugins.md - if integrating Better Auth plugins (admin, passkey, 2FA)
  • references/database.md - if setting up database with NuxtHub or Drizzle
  • references/client-only.md - if using external auth backend with clientOnly mode
  • references/types.md - if working with AuthUser, AuthSession, or type augmentation

DO NOT load all files at once. Load only what's relevant to your current task.

Key Concepts

ConceptDescription
useUserSession()Client composable - user, session, loggedIn, signIn/Out methods
requireUserSession()Server helper - throws 401/403 if not authenticated
auth route mode'user', 'guest', { user: {...} }, or false
serverAuth()Get Better Auth instance in server routes

Quick Reference

// Client: useUserSession()
const { user, loggedIn, signIn, signOut } = useUserSession()
await signIn.email({ email, password }, { onSuccess: () => navigateTo('/') })
// Server: requireUserSession()
const { user } = await requireUserSession(event, { user: { role: 'admin' } })
// nuxt.config.ts: Route protection
routeRules: {
  '/admin/**': { auth: { user: { role: 'admin' } } },
  '/login': { auth: 'guest' },
  '/app/**': { auth: 'user' }
}

Resources


Token efficiency: Main skill ~300 tokens, each sub-file ~800-1200 tokens