[{"data":1,"prerenderedAt":447},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-configuration":129,"-getting-started-configuration-surround":442},[4,34,63,80,101,110],{"title":5,"path":6,"stem":7,"children":8,"page":33},"Getting Started","/getting-started","1.getting-started",[9,13,17,21,25,29],{"title":10,"path":11,"stem":12},"Quickstart","/getting-started/quickstart","1.getting-started/0.quickstart",{"title":14,"path":15,"stem":16},"Installation","/getting-started/installation","1.getting-started/1.installation",{"title":18,"path":19,"stem":20},"Server Configuration","/getting-started/configuration","1.getting-started/2.configuration",{"title":22,"path":23,"stem":24},"Client Setup","/getting-started/client-setup","1.getting-started/3.client-setup",{"title":26,"path":27,"stem":28},"Type Augmentation","/getting-started/type-augmentation","1.getting-started/4.type-augmentation",{"title":30,"path":31,"stem":32},"Schema Generation","/getting-started/schema-generation","1.getting-started/5.schema-generation",false,{"title":35,"path":36,"stem":37,"children":38,"page":33},"Core Concepts","/core-concepts","2.core-concepts",[39,43,47,51,55,59],{"title":40,"path":41,"stem":42},"How It Works","/core-concepts/how-it-works","2.core-concepts/0.how-it-works",{"title":44,"path":45,"stem":46},"`serverAuth()`","/core-concepts/server-auth","2.core-concepts/1.server-auth",{"title":48,"path":49,"stem":50},"Sessions","/core-concepts/sessions","2.core-concepts/2.sessions",{"title":52,"path":53,"stem":54},"Route Protection","/core-concepts/route-protection","2.core-concepts/3.route-protection",{"title":56,"path":57,"stem":58},"Auto‑Imports and Aliases","/core-concepts/auto-imports-aliases","2.core-concepts/4.auto-imports-aliases",{"title":60,"path":61,"stem":62},"Security & Caveats","/core-concepts/security-caveats","2.core-concepts/5.security-caveats",{"title":64,"path":65,"stem":66,"children":67,"page":33},"Guides","/guides","3.guides",[68,72,76],{"title":69,"path":70,"stem":71},"Role‑Based Access","/guides/role-based-access","3.guides/1.role-based-access",{"title":73,"path":74,"stem":75},"Protecting API Routes","/guides/api-protection","3.guides/2.api-protection",{"title":77,"path":78,"stem":79},"Database Dialects","/guides/custom-dialects","3.guides/3.custom-dialects",{"title":81,"path":82,"stem":83,"children":84,"page":33},"API Reference","/api","4.api",[85,89,93,97],{"title":86,"path":87,"stem":88},"Composables","/api/composables","4.api/1.composables",{"title":90,"path":91,"stem":92},"Server Utilities","/api/server-utils","4.api/2.server-utils",{"title":94,"path":95,"stem":96},"Components","/api/components","4.api/3.components",{"title":98,"path":99,"stem":100},"Types","/api/types","4.api/4.types",{"title":102,"path":103,"stem":104,"children":105,"page":33},"Troubleshooting","/troubleshooting","5.troubleshooting",[106],{"title":107,"path":108,"stem":109},"FAQ","/troubleshooting/faq","5.troubleshooting/1.faq",{"title":111,"path":112,"stem":113,"children":114},"Better Auth","/better-auth","6.better-auth",[115,117,121,125],{"title":111,"path":112,"stem":116},"6.better-auth/index",{"title":118,"path":119,"stem":120},"OAuth & Social Providers","/better-auth/oauth","6.better-auth/1.oauth",{"title":122,"path":123,"stem":124},"Plugins","/better-auth/plugins","6.better-auth/2.plugins",{"title":126,"path":127,"stem":128},"Client Plugins (Exports)","/better-auth/client-plugins","6.better-auth/3.client-plugins",{"id":130,"title":18,"body":131,"description":436,"extension":437,"links":438,"meta":439,"navigation":224,"path":19,"seo":440,"stem":20,"__hash__":441},"docs/1.getting-started/2.configuration.md",{"type":132,"value":133,"toc":430},"minimark",[134,150,155,333,337,344,373,381,385,388,406,410,426],[135,136,137,138,142,143,146,147,142],"p",{},"The module requires a Better Auth config file at ",[139,140,141],"code",{},"server/auth.config.ts",".",[144,145],"br",{},"\nIt must export a default function created with ",[139,148,149],{},"defineServerAuth",[151,152,154],"h2",{"id":153},"example","Example",[156,157,162],"pre",{"className":158,"code":159,"language":160,"meta":161,"style":161},"language-ts shiki shiki-themes vitesse-light vitesse-dark vitesse-dark","import { admin } from 'better-auth/plugins'\nimport { defineServerAuth } from '@onmax/nuxt-better-auth'\n\nexport default defineServerAuth(({ db, runtimeConfig }) => ({\n  appName: 'My App',\n\n  // Any Better Auth options except database/secret/baseURL\n  emailAndPassword: { enabled: true },\n  plugins: [admin()],\n}))\n","ts","",[139,163,164,198,219,226,259,280,285,292,312,327],{"__ignoreMap":161},[165,166,169,173,177,181,184,187,191,195],"span",{"class":167,"line":168},"line",1,[165,170,172],{"class":171},"sMxC7","import",[165,174,176],{"class":175},"s5YmX"," {",[165,178,180],{"class":179},"s6w83"," admin",[165,182,183],{"class":175}," }",[165,185,186],{"class":171}," from",[165,188,190],{"class":189},"siS8b"," '",[165,192,194],{"class":193},"sTpu4","better-auth/plugins",[165,196,197],{"class":189},"'\n",[165,199,201,203,205,208,210,212,214,217],{"class":167,"line":200},2,[165,202,172],{"class":171},[165,204,176],{"class":175},[165,206,207],{"class":179}," defineServerAuth",[165,209,183],{"class":175},[165,211,186],{"class":171},[165,213,190],{"class":189},[165,215,216],{"class":193},"@onmax/nuxt-better-auth",[165,218,197],{"class":189},[165,220,222],{"class":167,"line":221},3,[165,223,225],{"emptyLinePlaceholder":224},true,"\n",[165,227,229,232,235,238,241,244,247,250,253,256],{"class":167,"line":228},4,[165,230,231],{"class":171},"export",[165,233,234],{"class":171}," default",[165,236,207],{"class":237},"slgps",[165,239,240],{"class":175},"(({",[165,242,243],{"class":179}," db",[165,245,246],{"class":175},",",[165,248,249],{"class":179}," runtimeConfig",[165,251,252],{"class":175}," })",[165,254,255],{"class":175}," =>",[165,257,258],{"class":175}," ({\n",[165,260,262,266,269,272,275,277],{"class":167,"line":261},5,[165,263,265],{"class":264},"sekRf","  appName",[165,267,268],{"class":175},": ",[165,270,271],{"class":189},"'",[165,273,274],{"class":193},"My App",[165,276,271],{"class":189},[165,278,279],{"class":175},",\n",[165,281,283],{"class":167,"line":282},6,[165,284,225],{"emptyLinePlaceholder":224},[165,286,288],{"class":167,"line":287},7,[165,289,291],{"class":290},"sAGVv","  // Any Better Auth options except database/secret/baseURL\n",[165,293,295,298,301,304,306,309],{"class":167,"line":294},8,[165,296,297],{"class":264},"  emailAndPassword",[165,299,300],{"class":175},": { ",[165,302,303],{"class":264},"enabled",[165,305,268],{"class":175},[165,307,308],{"class":171},"true",[165,310,311],{"class":175}," },\n",[165,313,315,318,321,324],{"class":167,"line":314},9,[165,316,317],{"class":264},"  plugins",[165,319,320],{"class":175},": [",[165,322,323],{"class":237},"admin",[165,325,326],{"class":175},"()],\n",[165,328,330],{"class":167,"line":329},10,[165,331,332],{"class":175},"}))\n",[151,334,336],{"id":335},"what-the-module-adds","What the module adds",[135,338,339,340,343],{},"At runtime, ",[139,341,342],{},"serverAuth()"," wraps your config and injects:",[345,346,347,357,365],"ul",{},[348,349,350,353,354],"li",{},[139,351,352],{},"database",": Drizzle adapter for NuxtHub ",[139,355,356],{},"hub:db",[348,358,359,268,362],{},[139,360,361],{},"secret",[139,363,364],{},"runtimeConfig.betterAuthSecret",[348,366,367,268,370],{},[139,368,369],{},"baseURL",[139,371,372],{},"runtimeConfig.public.siteUrl",[135,374,375,376,380],{},"So you should ",[377,378,379],"strong",{},"not"," set those in your config.",[151,382,384],{"id":383},"required-runtime-config","Required runtime config",[135,386,387],{},"Make sure your app defines:",[345,389,390,399],{},[348,391,392,394,395,398],{},[139,393,364],{}," (commonly via ",[139,396,397],{},"BETTER_AUTH_SECRET",")",[348,400,401,394,403,398],{},[139,402,372],{},[139,404,405],{},"NUXT_PUBLIC_SITE_URL",[151,407,409],{"id":408},"see-also","See also",[345,411,412,417],{},[348,413,414,415],{},"Better Auth plugin catalog: ",[139,416,123],{},[348,418,419,420],{},"Better Auth plugins concepts: ",[421,422,423],"a",{"href":423,"rel":424},"https://www.better-auth.com/docs/concepts/plugins",[425],"nofollow",[427,428,429],"style",{},"html pre.shiki code .sMxC7, html code.shiki .sMxC7{--shiki-light:#1E754F;--shiki-default:#4D9375;--shiki-dark:#4D9375}html pre.shiki code .s5YmX, html code.shiki .s5YmX{--shiki-light:#999999;--shiki-default:#666666;--shiki-dark:#666666}html pre.shiki code .s6w83, html code.shiki .s6w83{--shiki-light:#B07D48;--shiki-default:#BD976A;--shiki-dark:#BD976A}html pre.shiki code .siS8b, html code.shiki .siS8b{--shiki-light:#B5695977;--shiki-default:#C98A7D77;--shiki-dark:#C98A7D77}html pre.shiki code .sTpu4, html code.shiki .sTpu4{--shiki-light:#B56959;--shiki-default:#C98A7D;--shiki-dark:#C98A7D}html pre.shiki code .slgps, html code.shiki .slgps{--shiki-light:#59873A;--shiki-default:#80A665;--shiki-dark:#80A665}html pre.shiki code .sekRf, html code.shiki .sekRf{--shiki-light:#998418;--shiki-default:#B8A965;--shiki-dark:#B8A965}html pre.shiki code .sAGVv, html code.shiki .sAGVv{--shiki-light:#A0ADA0;--shiki-default:#758575DD;--shiki-dark:#758575DD}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":161,"searchDepth":200,"depth":200,"links":431},[432,433,434,435],{"id":153,"depth":200,"text":154},{"id":335,"depth":200,"text":336},{"id":383,"depth":200,"text":384},{"id":408,"depth":200,"text":409},"Create `server/auth.config.ts` with your Better Auth setup.","md",null,{},{"title":18,"description":436},"dxS533dholGYtxjcvF3t4gSO5aSbK42wV4kPFnGIyvo",[443,445],{"title":14,"path":15,"stem":16,"description":444,"children":-1},"Get started with Nuxt Better Auth in your project.",{"title":22,"path":23,"stem":24,"description":446,"children":-1},"Create `app/auth.client.ts` to expose a Better Auth client factory.",1765664060950]