The module requires a Better Auth config file at server/auth.config.ts.
It must export a default function created with defineServerAuth.
import { admin } from 'better-auth/plugins'
import { defineServerAuth } from '@onmax/nuxt-better-auth'
export default defineServerAuth(({ db, runtimeConfig }) => ({
appName: 'My App',
// Any Better Auth options except database/secret/baseURL
emailAndPassword: { enabled: true },
plugins: [admin()],
}))
At runtime, serverAuth() wraps your config and injects:
database: Drizzle adapter for NuxtHub hub:dbsecret: runtimeConfig.betterAuthSecretbaseURL: runtimeConfig.public.siteUrlSo you should not set those in your config.
Make sure your app defines:
runtimeConfig.betterAuthSecret (commonly via BETTER_AUTH_SECRET)runtimeConfig.public.siteUrl (commonly via NUXT_PUBLIC_SITE_URL)/better-auth/plugins