[{"data":1,"prerenderedAt":1949},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-configuration":152,"-getting-started-configuration-surround":1944},[4,42,68,110,131],{"title":5,"path":6,"stem":7,"children":8,"icon":11},"Getting Started","/getting-started","1.getting-started/0.index",[9,12,17,22,27,32,37],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-sparkles",{"title":13,"path":14,"stem":15,"icon":16},"Installation","/getting-started/installation","1.getting-started/1.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Configuration","/getting-started/configuration","1.getting-started/2.configuration","i-lucide-settings",{"title":23,"path":24,"stem":25,"icon":26},"Client Setup","/getting-started/client-setup","1.getting-started/3.client-setup","i-lucide-monitor",{"title":28,"path":29,"stem":30,"icon":31},"Type Augmentation","/getting-started/type-augmentation","1.getting-started/4.type-augmentation","i-lucide-type",{"title":33,"path":34,"stem":35,"icon":36},"Schema Generation (NuxtHub)","/getting-started/schema-generation","1.getting-started/5.schema-generation","i-lucide-database",{"title":38,"path":39,"stem":40,"icon":41},"How It Works","/getting-started/how-it-works","1.getting-started/6.how-it-works","i-lucide-workflow",{"title":43,"path":44,"stem":45,"children":46,"page":67},"Core Concepts","/core-concepts","2.core-concepts",[47,51,55,59,63],{"title":48,"path":49,"stem":50},"serverAuth()","/core-concepts/server-auth","2.core-concepts/1.server-auth",{"title":52,"path":53,"stem":54},"Sessions","/core-concepts/sessions","2.core-concepts/2.sessions",{"title":56,"path":57,"stem":58},"Route Protection","/core-concepts/route-protection","2.core-concepts/3.route-protection",{"title":60,"path":61,"stem":62},"Auto‑Imports and Aliases","/core-concepts/auto-imports-aliases","2.core-concepts/4.auto-imports-aliases",{"title":64,"path":65,"stem":66},"Security & Caveats","/core-concepts/security-caveats","2.core-concepts/5.security-caveats",false,{"title":69,"path":70,"stem":71,"children":72,"page":67},"Guides","/guides","3.guides",[73,77,81,85,89,94,98,102,106],{"title":74,"path":75,"stem":76},"Role‑Based Access","/guides/role-based-access","3.guides/1.role-based-access",{"title":78,"path":79,"stem":80},"OAuth Providers","/guides/oauth-providers","3.guides/2.oauth-providers",{"title":82,"path":83,"stem":84},"Custom Database","/guides/custom-database","3.guides/3.custom-database",{"title":86,"path":87,"stem":88},"Database-less Mode","/guides/database-less-mode","3.guides/4.database-less-mode",{"title":90,"path":91,"stem":92,"icon":93},"External Auth Backend","/guides/external-auth-backend","3.guides/5.external-auth-backend","i-lucide-server",{"title":95,"path":96,"stem":97},"Migrating from nuxt-auth-utils","/guides/migrate-from-nuxt-auth-utils","3.guides/6.migrate-from-nuxt-auth-utils",{"title":99,"path":100,"stem":101},"Two-Factor Authentication (TOTP + Backup Codes)","/guides/two-factor-auth","3.guides/7.two-factor-auth",{"title":103,"path":104,"stem":105},"Testing","/guides/testing","3.guides/8.testing",{"title":107,"path":108,"stem":109},"Production Deployment","/guides/production-deployment","3.guides/9.production-deployment",{"title":111,"path":112,"stem":113,"children":114,"page":67},"Integrations","/integrations","4.integrations",[115,119,123,127],{"title":116,"path":117,"stem":118},"NuxtHub","/integrations/nuxthub","4.integrations/1.nuxthub",{"title":120,"path":121,"stem":122},"DevTools","/integrations/devtools","4.integrations/2.devtools",{"title":124,"path":125,"stem":126},"Convex","/integrations/convex","4.integrations/3.convex",{"title":128,"path":129,"stem":130},"i18n","/integrations/i18n","4.integrations/4.i18n",{"title":132,"path":133,"stem":134,"children":135,"page":67},"API Reference","/api","5.api",[136,140,144,148],{"title":137,"path":138,"stem":139},"Composables","/api/composables","5.api/1.composables",{"title":141,"path":142,"stem":143},"Server Utilities","/api/server-utils","5.api/2.server-utils",{"title":145,"path":146,"stem":147},"Components","/api/components","5.api/3.components",{"title":149,"path":150,"stem":151},"Types","/api/types","5.api/4.types",{"id":153,"title":18,"body":154,"description":1937,"extension":1938,"links":1939,"meta":1940,"navigation":1941,"path":19,"seo":1942,"stem":20,"__hash__":1943},"docs/1.getting-started/2.configuration.md",{"type":155,"value":156,"toc":1925},"minimark",[157,245,250,485,500,752,756,759,850,855,962,968,987,993,996,1020,1024,1030,1035,1041,1161,1204,1208,1214,1321,1348,1355,1426,1443,1447,1464,1470,1474,1480,1562,1571,1577,1650,1655,1667,1679,1687,1691,1697,1712,1721,1725,1728,1847,1850,1921],[158,159,160],"code-collapse",{},[161,162,168],"pre",{"className":163,"code":164,"filename":165,"language":166,"meta":167,"style":167},"language-txt shiki shiki-themes one-light synthwave-84 synthwave-84","Configure @onmax/nuxt-better-auth module options and server auth.\n\n- In `nuxt.config.ts`, set `auth.redirects` (login, guest, authenticated, logout) and `auth.preserveRedirect`\n- Use `routeRules` or `nitro.routeRules` to define per-route auth: `{ auth: { only: 'user', redirectTo: '/login' } }`\n- In `server/auth.config.ts`, use `defineServerAuth` (object or function syntax) to configure plugins and providers\n- The function syntax receives `ctx` with `runtimeConfig` and `db` (NuxtHub)\n- The module auto-injects `secret` and `baseURL` — do not set them in defineServerAuth\n- Base URL priority: runtimeConfig > request URL > platform env vars > localhost\n- Set `NUXT_PUBLIC_SITE_URL` for custom domains or deterministic OAuth callbacks\n\nRead more: https://better-auth.nuxt.dev/raw/getting-started/configuration.md\nSource: https://github.com/nuxt-modules/better-auth\n","Prompt","txt","",[169,170,171,179,186,192,198,204,210,216,222,228,233,239],"code",{"__ignoreMap":167},[172,173,176],"span",{"class":174,"line":175},"line",1,[172,177,178],{},"Configure @onmax/nuxt-better-auth module options and server auth.\n",[172,180,182],{"class":174,"line":181},2,[172,183,185],{"emptyLinePlaceholder":184},true,"\n",[172,187,189],{"class":174,"line":188},3,[172,190,191],{},"- In `nuxt.config.ts`, set `auth.redirects` (login, guest, authenticated, logout) and `auth.preserveRedirect`\n",[172,193,195],{"class":174,"line":194},4,[172,196,197],{},"- Use `routeRules` or `nitro.routeRules` to define per-route auth: `{ auth: { only: 'user', redirectTo: '/login' } }`\n",[172,199,201],{"class":174,"line":200},5,[172,202,203],{},"- In `server/auth.config.ts`, use `defineServerAuth` (object or function syntax) to configure plugins and providers\n",[172,205,207],{"class":174,"line":206},6,[172,208,209],{},"- The function syntax receives `ctx` with `runtimeConfig` and `db` (NuxtHub)\n",[172,211,213],{"class":174,"line":212},7,[172,214,215],{},"- The module auto-injects `secret` and `baseURL` — do not set them in defineServerAuth\n",[172,217,219],{"class":174,"line":218},8,[172,220,221],{},"- Base URL priority: runtimeConfig > request URL > platform env vars > localhost\n",[172,223,225],{"class":174,"line":224},9,[172,226,227],{},"- Set `NUXT_PUBLIC_SITE_URL` for custom domains or deterministic OAuth callbacks\n",[172,229,231],{"class":174,"line":230},10,[172,232,185],{"emptyLinePlaceholder":184},[172,234,236],{"class":174,"line":235},11,[172,237,238],{},"Read more: https://better-auth.nuxt.dev/raw/getting-started/configuration.md\n",[172,240,242],{"class":174,"line":241},12,[172,243,244],{},"Source: https://github.com/nuxt-modules/better-auth\n",[246,247,249],"h2",{"id":248},"module-configuration","Module Configuration",[161,251,256],{"className":252,"code":253,"filename":254,"language":255,"meta":167,"style":167},"language-ts shiki shiki-themes one-light synthwave-84 synthwave-84","export default defineNuxtConfig({\n  modules: ['@onmax/nuxt-better-auth'],\n  auth: {\n    redirects: {\n      login: '/login',\n      guest: '/',\n      // authenticated: '/app', // optional\n      // logout: '/goodbye', // optional\n    },\n    preserveRedirect: true,\n    redirectQueryKey: 'redirect',\n  },\n  routeRules: {\n    '/app/**': { auth: { only: 'user', redirectTo: '/login' } },\n    '/login': { auth: { only: 'guest', redirectTo: '/app' } },\n  },\n})\n","nuxt.config.ts","ts",[169,257,258,276,296,306,315,328,340,349,356,361,374,386,391,401,440,474,479],{"__ignoreMap":167},[172,259,260,264,268,272],{"class":174,"line":175},[172,261,263],{"class":262},"sqe1H","export",[172,265,267],{"class":266},"sKg8T"," default",[172,269,271],{"class":270},"sfT9l"," defineNuxtConfig",[172,273,275],{"class":274},"s17Py","({\n",[172,277,278,282,286,289,293],{"class":174,"line":181},[172,279,281],{"class":280},"sYvLG","  modules",[172,283,285],{"class":284},"sVnqq",":",[172,287,288],{"class":274}," [",[172,290,292],{"class":291},"sPAZv","'@onmax/nuxt-better-auth'",[172,294,295],{"class":274},"],\n",[172,297,298,301,303],{"class":174,"line":188},[172,299,300],{"class":280},"  auth",[172,302,285],{"class":284},[172,304,305],{"class":274}," {\n",[172,307,308,311,313],{"class":174,"line":194},[172,309,310],{"class":280},"    redirects",[172,312,285],{"class":284},[172,314,305],{"class":274},[172,316,317,320,322,325],{"class":174,"line":200},[172,318,319],{"class":280},"      login",[172,321,285],{"class":284},[172,323,324],{"class":291}," '/login'",[172,326,327],{"class":274},",\n",[172,329,330,333,335,338],{"class":174,"line":206},[172,331,332],{"class":280},"      guest",[172,334,285],{"class":284},[172,336,337],{"class":291}," '/'",[172,339,327],{"class":274},[172,341,342,346],{"class":174,"line":212},[172,343,345],{"class":344},"st7cf","      // authenticated: '/app',",[172,347,348],{"class":344}," // optional\n",[172,350,351,354],{"class":174,"line":218},[172,352,353],{"class":344},"      // logout: '/goodbye',",[172,355,348],{"class":344},[172,357,358],{"class":174,"line":224},[172,359,360],{"class":274},"    },\n",[172,362,363,366,368,372],{"class":174,"line":230},[172,364,365],{"class":280},"    preserveRedirect",[172,367,285],{"class":284},[172,369,371],{"class":370},"s3ZNE"," true",[172,373,327],{"class":274},[172,375,376,379,381,384],{"class":174,"line":235},[172,377,378],{"class":280},"    redirectQueryKey",[172,380,285],{"class":284},[172,382,383],{"class":291}," 'redirect'",[172,385,327],{"class":274},[172,387,388],{"class":174,"line":241},[172,389,390],{"class":274},"  },\n",[172,392,394,397,399],{"class":174,"line":393},13,[172,395,396],{"class":280},"  routeRules",[172,398,285],{"class":284},[172,400,305],{"class":274},[172,402,404,407,409,412,415,417,419,422,424,427,430,433,435,437],{"class":174,"line":403},14,[172,405,406],{"class":291},"    '/app/**'",[172,408,285],{"class":284},[172,410,411],{"class":274}," { ",[172,413,414],{"class":280},"auth",[172,416,285],{"class":284},[172,418,411],{"class":274},[172,420,421],{"class":280},"only",[172,423,285],{"class":284},[172,425,426],{"class":291}," 'user'",[172,428,429],{"class":274},", ",[172,431,432],{"class":280},"redirectTo",[172,434,285],{"class":284},[172,436,324],{"class":291},[172,438,439],{"class":274}," } },\n",[172,441,443,446,448,450,452,454,456,458,460,463,465,467,469,472],{"class":174,"line":442},15,[172,444,445],{"class":291},"    '/login'",[172,447,285],{"class":284},[172,449,411],{"class":274},[172,451,414],{"class":280},[172,453,285],{"class":284},[172,455,411],{"class":274},[172,457,421],{"class":280},[172,459,285],{"class":284},[172,461,462],{"class":291}," 'guest'",[172,464,429],{"class":274},[172,466,432],{"class":280},[172,468,285],{"class":284},[172,470,471],{"class":291}," '/app'",[172,473,439],{"class":274},[172,475,477],{"class":174,"line":476},16,[172,478,390],{"class":274},[172,480,482],{"class":174,"line":481},17,[172,483,484],{"class":274},"})\n",[486,487,488,489,492,493,496,497,499],"note",{},"You can define auth route rules in either ",[169,490,491],{},"routeRules"," or ",[169,494,495],{},"nitro.routeRules",". The module supports both. If both are set, it uses ",[169,498,495],{},".",[501,502,503,548,560,571,627,646,660,726,736],"field-group",{},[504,505,508,515,521,538,541],"field",{"name":506,"type":507},"clientOnly","boolean",[509,510,511,512],"p",{},"Default: ",[169,513,514],{},"false",[509,516,517,518,285],{},"Enable client-only mode for external auth backends. When ",[169,519,520],{},"true",[522,523,524,532,535],"ul",{},[525,526,527,528,531],"li",{},"Skips ",[169,529,530],{},"server/auth.config.ts"," requirement",[525,533,534],{},"Skips server-side setup (API handlers, middleware, schema generation, devtools)",[525,536,537],{},"Skips secret validation",[509,539,540],{},"Use this when your Better Auth server runs on a separate backend (e.g., standalone h3/Nitro project).",[509,542,543,544,547],{},"See ",[545,546,90],"a",{"href":91}," guide.",[504,549,552,557],{"name":550,"type":551},"serverConfig","string",[509,553,511,554],{},[169,555,556],{},"'server/auth.config'",[509,558,559],{},"Path to the server auth config file, relative to the project root.",[504,561,563,568],{"name":562,"type":551},"clientConfig",[509,564,511,565],{},[169,566,567],{},"'app/auth.config'",[509,569,570],{},"Path to the client auth config file, relative to the project root.",[504,572,575,580,583,621],{"name":573,"type":574},"redirects","{ login?: string, guest?: string, authenticated?: string, logout?: string }",[509,576,511,577],{},[169,578,579],{},"{ login: '/login', guest: '/' }",[509,581,582],{},"Global redirect fallbacks:",[522,584,585,591,597,615],{},[525,586,587,590],{},[169,588,589],{},"login",": where to redirect unauthenticated users",[525,592,593,596],{},[169,594,595],{},"guest",": where to redirect authenticated users trying to access guest-only routes",[525,598,599,602,603,606,607,610,611,614],{},[169,600,601],{},"authenticated",": where to navigate after successful authenticated ",[169,604,605],{},"signIn"," / ",[169,608,609],{},"signUp"," when no ",[169,612,613],{},"onSuccess"," callback is provided",[525,616,617,620],{},[169,618,619],{},"logout",": where to navigate after logout (no default)",[509,622,623,624,626],{},"Per-route ",[169,625,432],{}," takes precedence when set.",[504,628,630,634,637],{"name":629,"type":507},"preserveRedirect",[509,631,511,632],{},[169,633,520],{},[509,635,636],{},"When redirecting unauthenticated users to a login route, append the original requested path as a query param.",[509,638,639,640,492,643,499],{},"Configure redirect targets per-route with ",[169,641,642],{},"routeRules.auth.redirectTo",[169,644,645],{},"definePageMeta({ auth: { redirectTo } })",[504,647,649,654],{"name":648,"type":551},"redirectQueryKey",[509,650,511,651],{},[169,652,653],{},"'redirect'",[509,655,656,657,659],{},"Query param key used when ",[169,658,629],{}," is enabled.",[504,661,664,668,671],{"name":662,"type":663},"hubSecondaryStorage","boolean | 'custom'",[509,665,511,666],{},[169,667,514],{},[509,669,670],{},"Enable secondary storage for sessions, reducing database hits for session validation.",[522,672,673,699,716],{},[525,674,675,677,678,681,682,685,686,429,689,429,692,429,695,698],{},[169,676,520],{}," — Use NuxtHub KV. Requires ",[545,679,680],{"href":117},"NuxtHub Integration"," with ",[169,683,684],{},"hub: { kv: true }",". Build fails if KV is not enabled. Generated schema remains stable and keeps core auth tables (",[169,687,688],{},"user",[169,690,691],{},"account",[169,693,694],{},"session",[169,696,697],{},"verification",").",[525,700,701,704,705,708,709,712,713,715],{},[169,702,703],{},"'custom'"," — You provide your own ",[169,706,707],{},"secondaryStorage"," in ",[169,710,711],{},"defineServerAuth()"," (required; the build fails in production if missing). The module won't inject NuxtHub KV, and this mode can omit the ",[169,714,694],{}," table from generated schema.",[525,717,718,720,721,708,723,725],{},[169,719,514],{}," (default) — No secondary storage from the module. User-provided ",[169,722,707],{},[169,724,711],{}," is not overridden.",[504,727,729,733],{"name":728,"type":507},"schema.usePlural",[509,730,511,731],{},[169,732,514],{},[509,734,735],{},"Pluralize table names (user → users)",[504,737,740,745],{"name":738,"type":739},"schema.casing","'camelCase' | 'snake_case'",[509,741,511,742],{},[169,743,744],{},"camelCase",[509,746,747,748,751],{},"Column/table name casing. Falls back to ",[169,749,750],{},"hub.db.casing"," when not specified.",[246,753,755],{"id":754},"redirect-targets-routerules-first","Redirect Targets (RouteRules-First)",[509,757,758],{},"Prefer redirect paths on route-level auth config:",[161,760,762],{"className":252,"code":761,"filename":254,"language":255,"meta":167,"style":167},"export default defineNuxtConfig({\n  routeRules: {\n    '/app/**': { auth: { only: 'user', redirectTo: '/login' } },\n    '/login': { auth: { only: 'guest', redirectTo: '/app' } },\n  },\n})\n",[169,763,764,774,782,812,842,846],{"__ignoreMap":167},[172,765,766,768,770,772],{"class":174,"line":175},[172,767,263],{"class":262},[172,769,267],{"class":266},[172,771,271],{"class":270},[172,773,275],{"class":274},[172,775,776,778,780],{"class":174,"line":181},[172,777,396],{"class":280},[172,779,285],{"class":284},[172,781,305],{"class":274},[172,783,784,786,788,790,792,794,796,798,800,802,804,806,808,810],{"class":174,"line":188},[172,785,406],{"class":291},[172,787,285],{"class":284},[172,789,411],{"class":274},[172,791,414],{"class":280},[172,793,285],{"class":284},[172,795,411],{"class":274},[172,797,421],{"class":280},[172,799,285],{"class":284},[172,801,426],{"class":291},[172,803,429],{"class":274},[172,805,432],{"class":280},[172,807,285],{"class":284},[172,809,324],{"class":291},[172,811,439],{"class":274},[172,813,814,816,818,820,822,824,826,828,830,832,834,836,838,840],{"class":174,"line":194},[172,815,445],{"class":291},[172,817,285],{"class":284},[172,819,411],{"class":274},[172,821,414],{"class":280},[172,823,285],{"class":284},[172,825,411],{"class":274},[172,827,421],{"class":280},[172,829,285],{"class":284},[172,831,462],{"class":291},[172,833,429],{"class":274},[172,835,432],{"class":280},[172,837,285],{"class":284},[172,839,471],{"class":291},[172,841,439],{"class":274},[172,843,844],{"class":174,"line":200},[172,845,390],{"class":274},[172,847,848],{"class":174,"line":206},[172,849,484],{"class":274},[509,851,852,853,285],{},"You can use the same auth route rules under ",[169,854,495],{},[161,856,858],{"className":252,"code":857,"filename":254,"language":255,"meta":167,"style":167},"export default defineNuxtConfig({\n  nitro: {\n    routeRules: {\n      '/app/**': { auth: { only: 'user', redirectTo: '/login' } },\n      '/login': { auth: { only: 'guest', redirectTo: '/app' } },\n    },\n  },\n})\n",[169,859,860,870,879,888,919,950,954,958],{"__ignoreMap":167},[172,861,862,864,866,868],{"class":174,"line":175},[172,863,263],{"class":262},[172,865,267],{"class":266},[172,867,271],{"class":270},[172,869,275],{"class":274},[172,871,872,875,877],{"class":174,"line":181},[172,873,874],{"class":280},"  nitro",[172,876,285],{"class":284},[172,878,305],{"class":274},[172,880,881,884,886],{"class":174,"line":188},[172,882,883],{"class":280},"    routeRules",[172,885,285],{"class":284},[172,887,305],{"class":274},[172,889,890,893,895,897,899,901,903,905,907,909,911,913,915,917],{"class":174,"line":194},[172,891,892],{"class":291},"      '/app/**'",[172,894,285],{"class":284},[172,896,411],{"class":274},[172,898,414],{"class":280},[172,900,285],{"class":284},[172,902,411],{"class":274},[172,904,421],{"class":280},[172,906,285],{"class":284},[172,908,426],{"class":291},[172,910,429],{"class":274},[172,912,432],{"class":280},[172,914,285],{"class":284},[172,916,324],{"class":291},[172,918,439],{"class":274},[172,920,921,924,926,928,930,932,934,936,938,940,942,944,946,948],{"class":174,"line":200},[172,922,923],{"class":291},"      '/login'",[172,925,285],{"class":284},[172,927,411],{"class":274},[172,929,414],{"class":280},[172,931,285],{"class":284},[172,933,411],{"class":274},[172,935,421],{"class":280},[172,937,285],{"class":284},[172,939,462],{"class":291},[172,941,429],{"class":274},[172,943,432],{"class":280},[172,945,285],{"class":284},[172,947,471],{"class":291},[172,949,439],{"class":274},[172,951,952],{"class":174,"line":206},[172,953,360],{"class":274},[172,955,956],{"class":174,"line":212},[172,957,390],{"class":274},[172,959,960],{"class":174,"line":218},[172,961,484],{"class":274},[509,963,964,965,967],{},"If ",[169,966,432],{}," is omitted, shorthand fallbacks apply:",[522,969,970,979],{},[525,971,972,975,976],{},[169,973,974],{},"auth: 'user'"," falls back to ",[169,977,978],{},"/login",[525,980,981,975,984],{},[169,982,983],{},"auth: 'guest'",[169,985,986],{},"/",[509,988,989,990,499],{},"If you want global defaults for those fallbacks, use ",[169,991,992],{},"auth.redirects",[509,994,995],{},"Default post-auth navigation:",[522,997,998,1011],{},[525,999,1000,1003,1004,606,1006,1008,1009,499],{},[169,1001,1002],{},"auth.redirects.authenticated"," is used when ",[169,1005,605],{},[169,1007,609],{}," complete with an authenticated session and no explicit ",[169,1010,613],{},[525,1012,1013,1014,1017,1018,499],{},"If a preserved redirect query param is present and safe (",[169,1015,1016],{},"?redirect=","), it takes precedence over ",[169,1019,1002],{},[246,1021,1023],{"id":1022},"server-configuration","Server Configuration",[509,1025,1026,1027,1029],{},"Define your authentication logic in ",[169,1028,530],{},", including plugins, providers, and settings.",[1031,1032,1034],"h3",{"id":1033},"defineserverauth","defineServerAuth",[509,1036,1037,1038,1040],{},"Use the ",[169,1039,1034],{}," helper to ensure type safety and access context. It accepts an object or function syntax.",[161,1042,1044],{"className":252,"code":1043,"filename":530,"language":255,"meta":167,"style":167},"import { defineServerAuth } from '@onmax/nuxt-better-auth/config'\n\n// Object syntax (simplest)\nexport default defineServerAuth({\n  emailAndPassword: { enabled: true }\n})\n\n// Function syntax (access context)\nexport default defineServerAuth((ctx) => ({\n  emailAndPassword: { enabled: true }\n}))\n",[169,1045,1046,1064,1068,1073,1084,1103,1107,1111,1116,1140,1156],{"__ignoreMap":167},[172,1047,1048,1051,1053,1055,1058,1061],{"class":174,"line":175},[172,1049,1050],{"class":262},"import",[172,1052,411],{"class":274},[172,1054,1034],{"class":280},[172,1056,1057],{"class":274}," } ",[172,1059,1060],{"class":262},"from",[172,1062,1063],{"class":291}," '@onmax/nuxt-better-auth/config'\n",[172,1065,1066],{"class":174,"line":181},[172,1067,185],{"emptyLinePlaceholder":184},[172,1069,1070],{"class":174,"line":188},[172,1071,1072],{"class":344},"// Object syntax (simplest)\n",[172,1074,1075,1077,1079,1082],{"class":174,"line":194},[172,1076,263],{"class":262},[172,1078,267],{"class":266},[172,1080,1081],{"class":270}," defineServerAuth",[172,1083,275],{"class":274},[172,1085,1086,1089,1091,1093,1096,1098,1100],{"class":174,"line":200},[172,1087,1088],{"class":280},"  emailAndPassword",[172,1090,285],{"class":284},[172,1092,411],{"class":274},[172,1094,1095],{"class":280},"enabled",[172,1097,285],{"class":284},[172,1099,371],{"class":370},[172,1101,1102],{"class":274}," }\n",[172,1104,1105],{"class":174,"line":206},[172,1106,484],{"class":274},[172,1108,1109],{"class":174,"line":212},[172,1110,185],{"emptyLinePlaceholder":184},[172,1112,1113],{"class":174,"line":218},[172,1114,1115],{"class":344},"// Function syntax (access context)\n",[172,1117,1118,1120,1122,1124,1127,1131,1134,1137],{"class":174,"line":224},[172,1119,263],{"class":262},[172,1121,267],{"class":266},[172,1123,1081],{"class":270},[172,1125,1126],{"class":274},"((",[172,1128,1130],{"class":1129},"sgisi","ctx",[172,1132,1133],{"class":274},") ",[172,1135,1136],{"class":262},"=>",[172,1138,1139],{"class":274}," ({\n",[172,1141,1142,1144,1146,1148,1150,1152,1154],{"class":174,"line":230},[172,1143,1088],{"class":280},[172,1145,285],{"class":284},[172,1147,411],{"class":274},[172,1149,1095],{"class":280},[172,1151,285],{"class":284},[172,1153,371],{"class":370},[172,1155,1102],{"class":274},[172,1157,1158],{"class":174,"line":235},[172,1159,1160],{"class":274},"}))\n",[486,1162,1163,1176],{},[509,1164,1165,1166,1169,1170,1173,1174,499],{},"The module automatically injects ",[169,1167,1168],{},"secret"," and ",[169,1171,1172],{},"baseURL",". You don't need to configure these in ",[169,1175,1034],{},[522,1177,1178,1195],{},[525,1179,1180,1184,1185,1187,1188,1191,1192],{},[1181,1182,1183],"strong",{},"Secret",": Priority: ",[169,1186,254],{}," runtimeConfig > ",[169,1189,1190],{},"NUXT_BETTER_AUTH_SECRET"," > ",[169,1193,1194],{},"BETTER_AUTH_SECRET",[525,1196,1197,1200,1201],{},[1181,1198,1199],{},"Base URL",": The module auto-detects the base URL on Vercel/Cloudflare/Netlify. For other platforms, set ",[169,1202,1203],{},"NUXT_PUBLIC_SITE_URL",[1031,1205,1207],{"id":1206},"context-options","Context Options",[509,1209,1210,1211,1213],{},"When using the function syntax, ",[169,1212,1034],{}," callback receives a context object with useful properties:",[161,1215,1217],{"className":252,"code":1216,"filename":530,"language":255,"meta":167,"style":167},"import { defineServerAuth } from '@onmax/nuxt-better-auth/config'\n\nexport default defineServerAuth((ctx) => ({\n  emailAndPassword: { enabled: true },\n\n  appName: ctx.runtimeConfig.public.siteUrl ? 'Better Auth App' : 'Better Auth',\n}))\n",[169,1218,1219,1233,1237,1255,1272,1276,1317],{"__ignoreMap":167},[172,1220,1221,1223,1225,1227,1229,1231],{"class":174,"line":175},[172,1222,1050],{"class":262},[172,1224,411],{"class":274},[172,1226,1034],{"class":280},[172,1228,1057],{"class":274},[172,1230,1060],{"class":262},[172,1232,1063],{"class":291},[172,1234,1235],{"class":174,"line":181},[172,1236,185],{"emptyLinePlaceholder":184},[172,1238,1239,1241,1243,1245,1247,1249,1251,1253],{"class":174,"line":188},[172,1240,263],{"class":262},[172,1242,267],{"class":266},[172,1244,1081],{"class":270},[172,1246,1126],{"class":274},[172,1248,1130],{"class":1129},[172,1250,1133],{"class":274},[172,1252,1136],{"class":262},[172,1254,1139],{"class":274},[172,1256,1257,1259,1261,1263,1265,1267,1269],{"class":174,"line":194},[172,1258,1088],{"class":280},[172,1260,285],{"class":284},[172,1262,411],{"class":274},[172,1264,1095],{"class":280},[172,1266,285],{"class":284},[172,1268,371],{"class":370},[172,1270,1271],{"class":274}," },\n",[172,1273,1274],{"class":174,"line":200},[172,1275,185],{"emptyLinePlaceholder":184},[172,1277,1278,1281,1283,1287,1289,1292,1294,1297,1299,1302,1306,1309,1312,1315],{"class":174,"line":206},[172,1279,1280],{"class":280},"  appName",[172,1282,285],{"class":284},[172,1284,1286],{"class":1285},"svFNh"," ctx",[172,1288,499],{"class":274},[172,1290,1291],{"class":280},"runtimeConfig",[172,1293,499],{"class":274},[172,1295,1296],{"class":280},"public",[172,1298,499],{"class":274},[172,1300,1301],{"class":280},"siteUrl",[172,1303,1305],{"class":1304},"sn-Jc"," ?",[172,1307,1308],{"class":291}," 'Better Auth App'",[172,1310,1311],{"class":1304}," :",[172,1313,1314],{"class":291}," 'Better Auth'",[172,1316,327],{"class":274},[172,1318,1319],{"class":174,"line":212},[172,1320,1160],{"class":274},[522,1322,1323,1329,1339],{},[525,1324,1325,1328],{},[169,1326,1327],{},"ctx.runtimeConfig",": Nuxt runtime config.",[525,1330,1331,1334,1335,1338],{},[169,1332,1333],{},"ctx.db",": NuxtHub database connection when NuxtHub DB is enabled. Do not set ",[169,1336,1337],{},"database"," when using module-managed adapters.",[525,1340,1341,1344,1345,499],{},[169,1342,1343],{},"ctx.requestOrigin",": Current request origin when auth is created with ",[169,1346,1347],{},"serverAuth(event)",[509,1349,1350,1351,1354],{},"Use ",[169,1352,1353],{},"requestOrigin"," when Better Auth config needs the current request host, such as trusted origins:",[161,1356,1358],{"className":252,"code":1357,"filename":530,"language":255,"meta":167,"style":167},"import { defineServerAuth } from '@onmax/nuxt-better-auth/config'\n\nexport default defineServerAuth(({ requestOrigin }) => ({\n  trustedOrigins: requestOrigin ? [requestOrigin] : [],\n}))\n",[169,1359,1360,1374,1378,1398,1422],{"__ignoreMap":167},[172,1361,1362,1364,1366,1368,1370,1372],{"class":174,"line":175},[172,1363,1050],{"class":262},[172,1365,411],{"class":274},[172,1367,1034],{"class":280},[172,1369,1057],{"class":274},[172,1371,1060],{"class":262},[172,1373,1063],{"class":291},[172,1375,1376],{"class":174,"line":181},[172,1377,185],{"emptyLinePlaceholder":184},[172,1379,1380,1382,1384,1386,1389,1391,1394,1396],{"class":174,"line":188},[172,1381,263],{"class":262},[172,1383,267],{"class":266},[172,1385,1081],{"class":270},[172,1387,1388],{"class":274},"(({ ",[172,1390,1353],{"class":1129},[172,1392,1393],{"class":274}," }) ",[172,1395,1136],{"class":262},[172,1397,1139],{"class":274},[172,1399,1400,1403,1405,1408,1410,1412,1414,1417,1419],{"class":174,"line":194},[172,1401,1402],{"class":280},"  trustedOrigins",[172,1404,285],{"class":284},[172,1406,1407],{"class":280}," requestOrigin",[172,1409,1305],{"class":1304},[172,1411,288],{"class":274},[172,1413,1353],{"class":280},[172,1415,1416],{"class":274},"] ",[172,1418,285],{"class":1304},[172,1420,1421],{"class":274}," [],\n",[172,1423,1424],{"class":174,"line":200},[172,1425,1160],{"class":274},[486,1427,1428,1429,1432,1433,1435,1436,1438,1439,1442],{},"For configured canonical URLs, read ",[169,1430,1431],{},"runtimeConfig.public.siteUrl",". ",[169,1434,1353],{}," is optional and only available when auth is created from a request event. If allowed origins vary while using an explicit ",[169,1437,1301],{},", configure those origins explicitly or use Better Auth's ",[169,1440,1441],{},"trustedOrigins"," function form, because the auth instance can be cached.",[1031,1444,1446],{"id":1445},"session-enrichment","Session Enrichment",[509,1448,1449,1450,1453,1454,708,1457,1459,1460,1463],{},"You can enrich session payloads with Better Auth's ",[169,1451,1452],{},"custom-session"," plugin through ",[169,1455,1456],{},"plugins",[169,1458,1034],{},". This module does not provide a separate ",[169,1461,1462],{},"requestSession.enrich"," option.",[509,1465,1466,1467,499],{},"See the full recipe in ",[545,1468,141],{"href":1469},"/api/server-utils#session-enrichment-with-custom-session",[246,1471,1473],{"id":1472},"base-url-configuration","Base URL Configuration",[509,1475,1476,1477,1479],{},"The module resolves ",[169,1478,1301],{}," using this priority:",[1481,1482,1483,1499],"table",{},[1484,1485,1486],"thead",{},[1487,1488,1489,1493,1496],"tr",{},[1490,1491,1492],"th",{},"Priority",[1490,1494,1495],{},"Source",[1490,1497,1498],{},"When Used",[1500,1501,1502,1515,1530,1549],"tbody",{},[1487,1503,1504,1508,1512],{},[1505,1506,1507],"td",{},"1",[1505,1509,1510],{},[169,1511,1431],{},[1505,1513,1514],{},"Explicit config (always wins)",[1487,1516,1517,1520,1523],{},[1505,1518,1519],{},"2",[1505,1521,1522],{},"Request URL",[1505,1524,1525,1526,1529],{},"Auto-detected from the current Nitro request (",[169,1527,1528],{},"event",")",[1487,1531,1532,1535,1546],{},[1505,1533,1534],{},"3",[1505,1536,1537,429,1540,429,1543],{},[169,1538,1539],{},"VERCEL_URL",[169,1541,1542],{},"CF_PAGES_URL",[169,1544,1545],{},"URL",[1505,1547,1548],{},"Platform env vars (Vercel, Cloudflare, Netlify)",[1487,1550,1551,1554,1559],{},[1505,1552,1553],{},"4",[1505,1555,1556],{},[169,1557,1558],{},"http://localhost:3000",[1505,1560,1561],{},"Development only",[509,1563,1564,1565,1567,1568,1570],{},"In server handlers, pass ",[169,1566,1528],{}," to ",[169,1569,1347],{}," so request URL detection can run. In non-request contexts (seed scripts, tasks, startup plugins), the module uses environment/platform fallbacks.",[509,1572,1573,1574,1576],{},"Set an explicit site URL in ",[169,1575,254],{}," for deterministic OAuth callbacks and origin checks:",[161,1578,1580],{"className":252,"code":1579,"filename":254,"language":255,"meta":167,"style":167},"export default defineNuxtConfig({\n  runtimeConfig: {\n    public: {\n      siteUrl: process.env.NUXT_PUBLIC_SITE_URL || 'http://localhost:3000',\n    },\n  },\n})\n",[169,1581,1582,1592,1601,1610,1638,1642,1646],{"__ignoreMap":167},[172,1583,1584,1586,1588,1590],{"class":174,"line":175},[172,1585,263],{"class":262},[172,1587,267],{"class":266},[172,1589,271],{"class":270},[172,1591,275],{"class":274},[172,1593,1594,1597,1599],{"class":174,"line":181},[172,1595,1596],{"class":280},"  runtimeConfig",[172,1598,285],{"class":284},[172,1600,305],{"class":274},[172,1602,1603,1606,1608],{"class":174,"line":188},[172,1604,1605],{"class":280},"    public",[172,1607,285],{"class":284},[172,1609,305],{"class":274},[172,1611,1612,1615,1617,1620,1622,1625,1627,1630,1633,1636],{"class":174,"line":194},[172,1613,1614],{"class":280},"      siteUrl",[172,1616,285],{"class":284},[172,1618,1619],{"class":1285}," process",[172,1621,499],{"class":274},[172,1623,1624],{"class":280},"env",[172,1626,499],{"class":274},[172,1628,1203],{"class":1629},"s6Rhl",[172,1631,1632],{"class":1304}," ||",[172,1634,1635],{"class":291}," 'http://localhost:3000'",[172,1637,327],{"class":274},[172,1639,1640],{"class":174,"line":200},[172,1641,360],{"class":274},[172,1643,1644],{"class":174,"line":206},[172,1645,390],{"class":274},[172,1647,1648],{"class":174,"line":212},[172,1649,484],{"class":274},[509,1651,1350,1652,1654],{},[169,1653,1203],{}," to provide this value per environment.",[509,1656,1657,1660,1661,1663,1664,1666],{},[1181,1658,1659],{},"Custom domains or self-hosted",": You should set ",[169,1662,1431],{}," (or ",[169,1665,1203],{},") when using custom domains or deploying to your own VPS/server. Platform env vars return auto-generated URLs, not your custom domain.",[161,1668,1673],{"className":1669,"code":1670,"filename":1671,"language":1672,"meta":167,"style":167},"language-ini shiki shiki-themes one-light synthwave-84 synthwave-84","NUXT_PUBLIC_SITE_URL=\"https://your-domain.com\"\n",".env","ini",[169,1674,1675],{"__ignoreMap":167},[172,1676,1677],{"class":174,"line":175},[172,1678,1670],{},[486,1680,1681,1682,1663,1684,1686],{},"The module can auto-detect the request URL on most deployments. You should still set ",[169,1683,1431],{},[169,1685,1203],{},") when callback consistency matters, such as local OAuth debugging, custom domains, or non-request contexts like seed scripts.",[246,1688,1690],{"id":1689},"runtime-config","Runtime Config",[509,1692,1693,1694,698],{},"Configure secrets using environment variables (see ",[545,1695,13],{"href":1696},"/getting-started/installation#set-environment-variables",[161,1698,1700],{"className":1669,"code":1699,"filename":1671,"language":1672,"meta":167,"style":167},"NUXT_BETTER_AUTH_SECRET=\"your-super-secret-key\"\nNUXT_PUBLIC_SITE_URL=\"https://your-domain.com\" # Optional on Vercel/Cloudflare/Netlify\n",[169,1701,1702,1707],{"__ignoreMap":167},[172,1703,1704],{"class":174,"line":175},[172,1705,1706],{},"NUXT_BETTER_AUTH_SECRET=\"your-super-secret-key\"\n",[172,1708,1709],{"class":174,"line":181},[172,1710,1711],{},"NUXT_PUBLIC_SITE_URL=\"https://your-domain.com\" # Optional on Vercel/Cloudflare/Netlify\n",[1713,1714,1350,1715,1717,1718,1720],"tip",{},[169,1716,1190],{}," as the primary secret variable. ",[169,1719,1194],{}," remains supported as a fallback for existing setups.",[246,1722,1724],{"id":1723},"for-module-authors","For Module Authors",[509,1726,1727],{},"Other Nuxt modules can extend the authentication configuration:",[161,1729,1731],{"className":252,"code":1730,"language":255,"meta":167,"style":167},"// In your Nuxt module\nexport default defineNuxtModule({\n  setup(options, nuxt) {\n    nuxt.hook('better-auth:config:extend', (config) => {\n      config.plugins = [...(config.plugins || []), myPlugin()]\n    })\n  }\n})\n",[169,1732,1733,1738,1749,1768,1795,1833,1838,1843],{"__ignoreMap":167},[172,1734,1735],{"class":174,"line":175},[172,1736,1737],{"class":344},"// In your Nuxt module\n",[172,1739,1740,1742,1744,1747],{"class":174,"line":181},[172,1741,263],{"class":262},[172,1743,267],{"class":266},[172,1745,1746],{"class":270}," defineNuxtModule",[172,1748,275],{"class":274},[172,1750,1751,1754,1757,1760,1762,1765],{"class":174,"line":188},[172,1752,1753],{"class":270},"  setup",[172,1755,1756],{"class":274},"(",[172,1758,1759],{"class":1129},"options",[172,1761,429],{"class":274},[172,1763,1764],{"class":1129},"nuxt",[172,1766,1767],{"class":274},") {\n",[172,1769,1770,1773,1775,1778,1780,1783,1786,1789,1791,1793],{"class":174,"line":194},[172,1771,1772],{"class":1285},"    nuxt",[172,1774,499],{"class":274},[172,1776,1777],{"class":270},"hook",[172,1779,1756],{"class":274},[172,1781,1782],{"class":291},"'better-auth:config:extend'",[172,1784,1785],{"class":274},", (",[172,1787,1788],{"class":1129},"config",[172,1790,1133],{"class":274},[172,1792,1136],{"class":262},[172,1794,305],{"class":274},[172,1796,1797,1800,1802,1804,1808,1810,1813,1815,1817,1819,1822,1824,1827,1830],{"class":174,"line":200},[172,1798,1799],{"class":1285},"      config",[172,1801,499],{"class":274},[172,1803,1456],{"class":280},[172,1805,1807],{"class":1806},"sQBpM"," =",[172,1809,288],{"class":274},[172,1811,1812],{"class":1304},"...",[172,1814,1756],{"class":274},[172,1816,1788],{"class":1285},[172,1818,499],{"class":274},[172,1820,1456],{"class":1821},"sjaJz",[172,1823,1632],{"class":1304},[172,1825,1826],{"class":274}," []), ",[172,1828,1829],{"class":270},"myPlugin",[172,1831,1832],{"class":274},"()]\n",[172,1834,1835],{"class":174,"line":206},[172,1836,1837],{"class":274},"    })\n",[172,1839,1840],{"class":174,"line":212},[172,1841,1842],{"class":274},"  }\n",[172,1844,1845],{"class":174,"line":218},[172,1846,484],{"class":274},[509,1848,1849],{},"Access sessions from server handlers:",[161,1851,1853],{"className":252,"code":1852,"language":255,"meta":167,"style":167},"const { user, session } = await getUserSession(event)\nif (!user) throw createError({ statusCode: 401 })\n",[169,1854,1855,1886],{"__ignoreMap":167},[172,1856,1857,1860,1862,1864,1866,1868,1870,1873,1876,1879,1881,1883],{"class":174,"line":175},[172,1858,1859],{"class":262},"const",[172,1861,411],{"class":274},[172,1863,688],{"class":1629},[172,1865,429],{"class":274},[172,1867,694],{"class":1629},[172,1869,1057],{"class":274},[172,1871,1872],{"class":1806},"=",[172,1874,1875],{"class":262}," await",[172,1877,1878],{"class":270}," getUserSession",[172,1880,1756],{"class":274},[172,1882,1528],{"class":1285},[172,1884,1885],{"class":274},")\n",[172,1887,1888,1891,1894,1897,1899,1901,1904,1907,1910,1913,1915,1918],{"class":174,"line":181},[172,1889,1890],{"class":262},"if",[172,1892,1893],{"class":274}," (",[172,1895,1896],{"class":1304},"!",[172,1898,688],{"class":1285},[172,1900,1133],{"class":274},[172,1902,1903],{"class":262},"throw",[172,1905,1906],{"class":270}," createError",[172,1908,1909],{"class":274},"({ ",[172,1911,1912],{"class":280},"statusCode",[172,1914,285],{"class":284},[172,1916,1917],{"class":370}," 401",[172,1919,1920],{"class":274}," })\n",[1922,1923,1924],"style",{},"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);}html pre.shiki code .sqe1H, html code.shiki .sqe1H{--shiki-light:#A626A4;--shiki-default:#FEDE5D;--shiki-dark:#FEDE5D}html pre.shiki code .sKg8T, html code.shiki .sKg8T{--shiki-light:#E45649;--shiki-default:#FEDE5D;--shiki-dark:#FEDE5D}html pre.shiki code .sfT9l, html code.shiki .sfT9l{--shiki-light:#4078F2;--shiki-default:#36F9F6;--shiki-dark:#36F9F6}html pre.shiki code .s17Py, html code.shiki .s17Py{--shiki-light:#383A42;--shiki-default:#BBBBBB;--shiki-dark:#BBBBBB}html pre.shiki code .sYvLG, html code.shiki .sYvLG{--shiki-light:#E45649;--shiki-default:#FF7EDB;--shiki-dark:#FF7EDB}html pre.shiki code .sVnqq, html code.shiki .sVnqq{--shiki-light:#0184BC;--shiki-default:#B6B1B1;--shiki-dark:#B6B1B1}html pre.shiki code .sPAZv, html code.shiki .sPAZv{--shiki-light:#50A14F;--shiki-default:#FF8B39;--shiki-dark:#FF8B39}html pre.shiki code .st7cf, html code.shiki .st7cf{--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-default:#848BBD;--shiki-default-font-style:italic;--shiki-dark:#848BBD;--shiki-dark-font-style:italic}html pre.shiki code .s3ZNE, html code.shiki .s3ZNE{--shiki-light:#986801;--shiki-default:#F97E72;--shiki-dark:#F97E72}html pre.shiki code .sgisi, html code.shiki .sgisi{--shiki-light:#383A42;--shiki-light-font-style:inherit;--shiki-default:#FF7EDB;--shiki-default-font-style:italic;--shiki-dark:#FF7EDB;--shiki-dark-font-style:italic}html pre.shiki code .svFNh, html code.shiki .svFNh{--shiki-light:#383A42;--shiki-default:#FF7EDB;--shiki-dark:#FF7EDB}html pre.shiki code .sn-Jc, html code.shiki .sn-Jc{--shiki-light:#0184BC;--shiki-default:#FEDE5D;--shiki-dark:#FEDE5D}html pre.shiki code .s6Rhl, html code.shiki .s6Rhl{--shiki-light:#986801;--shiki-default:#FF7EDB;--shiki-dark:#FF7EDB}html pre.shiki code .sQBpM, html code.shiki .sQBpM{--shiki-light:#0184BC;--shiki-default:#FFFFFFEE;--shiki-dark:#FFFFFFEE}html pre.shiki code .sjaJz, html code.shiki .sjaJz{--shiki-light:#C18401;--shiki-default:#FF7EDB;--shiki-dark:#FF7EDB}",{"title":167,"searchDepth":181,"depth":181,"links":1926},[1927,1928,1929,1934,1935,1936],{"id":248,"depth":181,"text":249},{"id":754,"depth":181,"text":755},{"id":1022,"depth":181,"text":1023,"children":1930},[1931,1932,1933],{"id":1033,"depth":188,"text":1034},{"id":1206,"depth":188,"text":1207},{"id":1445,"depth":188,"text":1446},{"id":1472,"depth":181,"text":1473},{"id":1689,"depth":181,"text":1690},{"id":1723,"depth":181,"text":1724},"Configure the module options and your Better Auth server instance.","md",null,{},{"icon":21},{"title":18,"description":1937},"kf1C83ygE0b_t5hcKIaXcUAZNnRMJeZMKoKbqd8ovbA",[1945,1947],{"title":13,"path":14,"stem":15,"description":1946,"icon":16,"children":-1},"Learn how to add Nuxt Better Auth to your Nuxt project.",{"title":23,"path":24,"stem":25,"description":1948,"icon":26,"children":-1},"Configure the client-side authentication client.",1776708716246]