[{"data":1,"prerenderedAt":721},["ShallowReactive",2],{"navigation":3,"\u002Fsign-in\u002Fpages":178,"\u002Fsign-in\u002Fpages-surround":716},[4,23,78,95,123,143,158],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F3.configuration","i-lucide-settings",false,{"title":24,"icon":22,"path":25,"stem":26,"children":27,"page":22},"Sign-in","\u002Fsign-in","2.sign-in",[28,33,38,43,48,53,58,63,68,73],{"title":29,"path":30,"stem":31,"icon":32},"Sign-in pages","\u002Fsign-in\u002Fpages","2.sign-in\u002F1.pages","i-lucide-log-in",{"title":34,"path":35,"stem":36,"icon":37},"Several accounts","\u002Fsign-in\u002Fmulti-session","2.sign-in\u002F10.multi-session","i-lucide-users-round",{"title":39,"path":40,"stem":41,"icon":42},"Account page","\u002Fsign-in\u002Faccount","2.sign-in\u002F2.account","i-lucide-circle-user",{"title":44,"path":45,"stem":46,"icon":47},"Other methods","\u002Fsign-in\u002Fmethods","2.sign-in\u002F3.methods","i-lucide-key-square",{"title":49,"path":50,"stem":51,"icon":52},"Sign-in providers","\u002Fsign-in\u002Fproviders","2.sign-in\u002F4.providers","i-lucide-share-2",{"title":54,"path":55,"stem":56,"icon":57},"Two-factor","\u002Fsign-in\u002Ftwo-factor","2.sign-in\u002F5.two-factor","i-lucide-shield-check",{"title":59,"path":60,"stem":61,"icon":62},"Passkeys","\u002Fsign-in\u002Fpasskeys","2.sign-in\u002F6.passkeys","i-lucide-fingerprint",{"title":64,"path":65,"stem":66,"icon":67},"Phone numbers","\u002Fsign-in\u002Fphone-numbers","2.sign-in\u002F7.phone-numbers","i-lucide-smartphone",{"title":69,"path":70,"stem":71,"icon":72},"Signing in devices","\u002Fsign-in\u002Fdevices","2.sign-in\u002F8.devices","i-lucide-tv",{"title":74,"path":75,"stem":76,"icon":77},"Security","\u002Fsign-in\u002Fsecurity","2.sign-in\u002F9.security","i-lucide-lock-keyhole",{"title":79,"path":80,"stem":81,"children":82,"icon":22},"Organizations","\u002Forganizations","3.organizations\u002F1.index",[83,85,90],{"title":79,"path":80,"stem":81,"icon":84},"i-lucide-building-2",{"title":86,"path":87,"stem":88,"icon":89},"Roles","\u002Forganizations\u002Froles","3.organizations\u002F2.roles","i-lucide-shield",{"title":91,"path":92,"stem":93,"icon":94},"Single sign-on","\u002Forganizations\u002Fsso","3.organizations\u002F3.sso","i-lucide-key-round",{"title":96,"path":97,"stem":98,"children":99,"icon":22},"Admin dashboard","\u002Fadmin","4.admin\u002F1.index",[100,103,108,113,118],{"title":101,"path":97,"stem":98,"icon":102},"Overview","i-lucide-layout-dashboard",{"title":104,"path":105,"stem":106,"icon":107},"Managing users","\u002Fadmin\u002Fusers","4.admin\u002F2.users","i-lucide-user-cog",{"title":109,"path":110,"stem":111,"icon":112},"Staff roles","\u002Fadmin\u002Froles","4.admin\u002F3.roles","i-lucide-shield-user",{"title":114,"path":115,"stem":116,"icon":117},"Audit log","\u002Fadmin\u002Faudit-log","4.admin\u002F4.audit-log","i-lucide-history",{"title":119,"path":120,"stem":121,"icon":122},"Your own pages","\u002Fadmin\u002Fextending","4.admin\u002F5.extending","i-lucide-layout-panel-left",{"title":124,"icon":22,"path":125,"stem":126,"children":127,"page":22},"Integrations","\u002Fintegrations","5.integrations",[128,133,138],{"title":129,"path":130,"stem":131,"icon":132},"Stripe","\u002Fintegrations\u002Fstripe","5.integrations\u002F1.stripe","i-simple-icons-stripe",{"title":134,"path":135,"stem":136,"icon":137},"API keys","\u002Fintegrations\u002Fapi-keys","5.integrations\u002F2.api-keys","i-lucide-key",{"title":139,"path":140,"stem":141,"icon":142},"Tokens","\u002Fintegrations\u002Ftokens","5.integrations\u002F3.tokens","i-lucide-ticket",{"title":144,"icon":22,"path":145,"stem":146,"children":147,"page":22},"Customization","\u002Fcustomization","6.customization",[148,153],{"title":149,"path":150,"stem":151,"icon":152},"Emails","\u002Fcustomization\u002Femails","6.customization\u002F1.emails","i-lucide-mail",{"title":154,"path":155,"stem":156,"icon":157},"Languages","\u002Fcustomization\u002Flanguages","6.customization\u002F2.languages","i-lucide-languages",{"title":159,"icon":22,"path":160,"stem":161,"children":162,"page":22},"Reference","\u002Freference","7.reference",[163,168,173],{"title":164,"path":165,"stem":166,"icon":167},"How it works","\u002Freference\u002Fhow-it-works","7.reference\u002F1.how-it-works","i-lucide-cog",{"title":169,"path":170,"stem":171,"icon":172},"API reference","\u002Freference\u002Fapi","7.reference\u002F2.api","i-lucide-braces",{"title":174,"path":175,"stem":176,"icon":177},"Contributing","\u002Freference\u002Fcontributing","7.reference\u002F3.contributing","i-lucide-git-pull-request",{"id":179,"title":29,"body":180,"description":709,"extension":710,"links":711,"meta":712,"navigation":713,"path":30,"seo":714,"stem":31,"__hash__":715},"docs\u002F2.sign-in\u002F1.pages.md",{"type":181,"value":182,"toc":703},"minimark",[183,188,201,326,331,334,354,357,361,373,482,523,527,587,637,641,648,693,699],[184,185],"screenshot",{"alt":186,"name":187},"The sign-in page: email and password, provider icons, then passkey, sign-in link, email and text codes, single sign-on and guest buttons","sign-in",[189,190,191,192,196,197,200],"p",{},"The sign-in pages are on by default, in your app's own layout. They're built with Nuxt UI's ",[193,194,195],"code",{},"UAuthForm"," and\n",[193,198,199],{},"@nuxtjs\u002Fbetter-auth","'s sign-in composables.",[202,203,204,220],"table",{},[205,206,207],"thead",{},[208,209,210,214,217],"tr",{},[211,212,213],"th",{},"Page",[211,215,216],{},"Path",[211,218,219],{},"What it does",[221,222,223,237,250,263,276,293,309],"tbody",{},[208,224,225,229,234],{},[226,227,228],"td",{},"Sign in",[226,230,231],{},[193,232,233],{},"\u002Flogin",[226,235,236],{},"Email and password, and every other way to sign in you've turned on",[208,238,239,242,247],{},[226,240,241],{},"Sign up",[226,243,244],{},[193,245,246],{},"\u002Fsignup",[226,248,249],{},"Name, email and password; \"Check your email\" when you require verification",[208,251,252,255,260],{},[226,253,254],{},"Forgot password",[226,256,257],{},[193,258,259],{},"\u002Fforgot-password",[226,261,262],{},"Emails a reset link. The answer is the same whether or not the email has an account",[208,264,265,268,273],{},[226,266,267],{},"Reset password",[226,269,270],{},[193,271,272],{},"\u002Freset-password",[226,274,275],{},"Where reset links land: choose a new password, or ask for a new link if it expired",[208,277,278,280,285],{},[226,279,54],{},[226,281,282],{},[193,283,284],{},"\u002Ftwo-factor",[226,286,287,288,292],{},"The second step of signing in, for users with ",[289,290,291],"a",{"href":55},"two-factor"," on",[208,294,295,298,303],{},[226,296,297],{},"Account",[226,299,300],{},[193,301,302],{},"\u002Faccount",[226,304,305,306],{},"People's own ",[289,307,308],{"href":40},"account page",[208,310,311,314,319],{},[226,312,313],{},"Finish account",[226,315,316],{},[193,317,318],{},"\u002Ffinish-account",[226,320,321,322],{},"For ",[289,323,325],{"href":324},"\u002Fsign-in\u002Fproviders#providers-without-an-email","providers that share no email",[327,328,330],"h2",{"id":329},"only-what-your-set-up-supports","Only what your set-up supports",[189,332,333],{},"Each page reads your Better Auth set-up at runtime and shows only what it supports:",[335,336,337,345,348,351],"ul",{},[338,339,340,341,344],"li",{},"a button for each ",[289,342,343],{"href":50},"sign-in provider"," you've configured;",[338,346,347],{},"sign-up only when it's enabled;",[338,349,350],{},"your password length rules;",[338,352,353],{},"\"Forgot password?\" only when reset emails are set up.",[189,355,356],{},"Under the email and password form, the other ways to sign in are grouped: your providers as a row of icons, then\npasskeys, sign-in links, codes and single sign-on, then \"Continue as a guest\".",[327,358,360],{"id":359},"moving-or-turning-off-a-page","Moving or turning off a page",[189,362,363,364,368,369,372],{},"If your app already has a page at one of these paths, ",[365,366,367],"strong",{},"your page wins",": the module skips its own. To move a page,\nor turn it off, use ",[193,370,371],{},"pages",":",[374,375,381],"pre",{"className":376,"code":377,"filename":378,"language":379,"meta":380,"style":380},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  betterAuthUi: {\n    pages: {\n      signIn: '\u002Fsign-in',\n      signUp: false\n    }\n  }\n})\n","nuxt.config.ts","ts","",[193,382,383,407,419,429,449,461,467,473],{"__ignoreMap":380},[384,385,388,392,395,399,403],"span",{"class":386,"line":387},"line",1,[384,389,391],{"class":390},"s7zQu","export",[384,393,394],{"class":390}," default",[384,396,398],{"class":397},"s2Zo4"," defineNuxtConfig",[384,400,402],{"class":401},"sTEyZ","(",[384,404,406],{"class":405},"sMK4o","{\n",[384,408,410,414,416],{"class":386,"line":409},2,[384,411,413],{"class":412},"swJcz","  betterAuthUi",[384,415,372],{"class":405},[384,417,418],{"class":405}," {\n",[384,420,422,425,427],{"class":386,"line":421},3,[384,423,424],{"class":412},"    pages",[384,426,372],{"class":405},[384,428,418],{"class":405},[384,430,432,435,437,440,443,446],{"class":386,"line":431},4,[384,433,434],{"class":412},"      signIn",[384,436,372],{"class":405},[384,438,439],{"class":405}," '",[384,441,25],{"class":442},"sfazB",[384,444,445],{"class":405},"'",[384,447,448],{"class":405},",\n",[384,450,452,455,457],{"class":386,"line":451},5,[384,453,454],{"class":412},"      signUp",[384,456,372],{"class":405},[384,458,460],{"class":459},"sfNiH"," false\n",[384,462,464],{"class":386,"line":463},6,[384,465,466],{"class":405},"    }\n",[384,468,470],{"class":386,"line":469},7,[384,471,472],{"class":405},"  }\n",[384,474,476,479],{"class":386,"line":475},8,[384,477,478],{"class":405},"}",[384,480,481],{"class":401},")\n",[483,484,485,496,500,504,511,515,519],"field-group",{},[486,487,491],"field",{"default":488,"name":489,"type":490},"'\u002Flogin'","signIn","string | false",[189,492,493,495],{},[193,494,199],{}," sends signed-out visitors here by default.",[486,497],{"default":498,"name":499,"type":490},"'\u002Fsignup'","signUp",[486,501],{"default":502,"name":503,"type":490},"'\u002Fforgot-password'","forgotPassword",[486,505,508],{"default":506,"name":507,"type":490},"'\u002Freset-password'","resetPassword",[189,509,510],{},"Where password reset links land.",[486,512],{"default":513,"name":514,"type":490},"'\u002Faccount'","account",[486,516],{"default":517,"name":518,"type":490},"'\u002Ftwo-factor'","twoFactor",[486,520],{"default":521,"name":522,"type":490},"'\u002Ffinish-account'","finishAccount",[327,524,526],{"id":525},"where-people-go","Where people go",[335,528,529,550,556,566,575],{},[338,530,531,534,535,538,539,541,542,545,546,549],{},[365,532,533],{},"After signing in",", people go back where they came from (the ",[193,536,537],{},"?redirect="," that ",[193,540,199],{}," adds,\nchecked to be a path on your site), else to its ",[193,543,544],{},"redirects.authenticated",", else ",[193,547,548],{},"\u002F",".",[338,551,552,555],{},[365,553,554],{},"Signed-in visitors"," are sent away from the sign-in pages.",[338,557,558,561,562,565],{},[365,559,560],{},"New accounts from a provider"," start on the account page (Better Auth's ",[193,563,564],{},"newUserCallbackURL",").",[338,567,568,571,572,565],{},[365,569,570],{},"A failed provider sign-in"," (for example, GitHub hiding the email) comes back to the sign-in page with a readable\nmessage (Better Auth's ",[193,573,574],{},"errorCallbackURL",[338,576,577,580,581,583,584,372],{},[365,578,579],{},"Signing out",", from the account page or the admin menu, goes to ",[193,582,548],{},". Change it with ",[193,585,586],{},"signOutRedirect",[374,588,590],{"className":376,"code":589,"filename":378,"language":379,"meta":380,"style":380},"export default defineNuxtConfig({\n  betterAuthUi: {\n    signOutRedirect: '\u002Fgoodbye'\n  }\n})\n",[193,591,592,604,612,627,631],{"__ignoreMap":380},[384,593,594,596,598,600,602],{"class":386,"line":387},[384,595,391],{"class":390},[384,597,394],{"class":390},[384,599,398],{"class":397},[384,601,402],{"class":401},[384,603,406],{"class":405},[384,605,606,608,610],{"class":386,"line":409},[384,607,413],{"class":412},[384,609,372],{"class":405},[384,611,418],{"class":405},[384,613,614,617,619,621,624],{"class":386,"line":421},[384,615,616],{"class":412},"    signOutRedirect",[384,618,372],{"class":405},[384,620,439],{"class":405},[384,622,623],{"class":442},"\u002Fgoodbye",[384,625,626],{"class":405},"'\n",[384,628,629],{"class":386,"line":431},[384,630,472],{"class":405},[384,632,633,635],{"class":386,"line":451},[384,634,478],{"class":405},[384,636,481],{"class":401},[327,638,640],{"id":639},"last-used-method","Last used method",[189,642,643,644,647],{},"With ",[193,645,646],{},"lastLoginMethod: true",", the sign-in page says \"Last time, you signed in with GitHub\" and highlights that\nbutton. It's Better Auth's Last Login Method plugin, which remembers the method in a cookie for 30 days. The page reads\nthe cookie on the server, so nothing flashes.",[374,649,651],{"className":376,"code":650,"filename":378,"language":379,"meta":380,"style":380},"export default defineNuxtConfig({\n  betterAuthUi: {\n    lastLoginMethod: true\n  }\n})\n",[193,652,653,665,673,683,687],{"__ignoreMap":380},[384,654,655,657,659,661,663],{"class":386,"line":387},[384,656,391],{"class":390},[384,658,394],{"class":390},[384,660,398],{"class":397},[384,662,402],{"class":401},[384,664,406],{"class":405},[384,666,667,669,671],{"class":386,"line":409},[384,668,413],{"class":412},[384,670,372],{"class":405},[384,672,418],{"class":405},[384,674,675,678,680],{"class":386,"line":421},[384,676,677],{"class":412},"    lastLoginMethod",[384,679,372],{"class":405},[384,681,682],{"class":459}," true\n",[384,684,685],{"class":386,"line":431},[384,686,472],{"class":405},[384,688,689,691],{"class":386,"line":451},[384,690,478],{"class":405},[384,692,481],{"class":401},[694,695,696],"note",{},[189,697,698],{},"The cookie is non-essential under GDPR: mention it where you list your cookies.",[700,701,702],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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":380,"searchDepth":387,"depth":409,"links":704},[705,706,707,708],{"id":329,"depth":409,"text":330},{"id":359,"depth":409,"text":360},{"id":525,"depth":409,"text":526},{"id":639,"depth":409,"text":640},"Sign in, sign up, password resets and two-factor, ready to use.","md",null,{},{"icon":32},{"title":29,"description":709},"lOkMPNWq08gIda56laViPXCUVreDia4418cOtg3Az8o",[717,719],{"title":18,"path":19,"stem":20,"description":718,"icon":21,"children":-1},"How features are turned on, and every option at a glance.",{"title":34,"path":35,"stem":36,"description":720,"icon":37,"children":-1},"Sign in to more than one account in the same browser, and switch between them.",1793019842936]