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