[{"data":1,"prerenderedAt":277},["ShallowReactive",2],{"navigation":3,"\u002Fexamples\u002Fpasskey-sign-in":139,"\u002Fexamples\u002Fpasskey-sign-in-surround":272},[4,48,79,98],{"title":5,"path":6,"stem":7,"children":8,"icon":47},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22,27,32,37,42],{"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},"AI agents","\u002Fgetting-started\u002Fai-agents","1.getting-started\u002F3.ai-agents","i-lucide-bot",{"title":23,"path":24,"stem":25,"icon":26},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F4.quick-start","i-lucide-play",{"title":28,"path":29,"stem":30,"icon":31},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F5.configuration","i-lucide-settings",{"title":33,"path":34,"stem":35,"icon":36},"Production","\u002Fgetting-started\u002Fproduction","1.getting-started\u002F6.production","i-lucide-shield-check",{"title":38,"path":39,"stem":40,"icon":41},"Compare","\u002Fgetting-started\u002Fcompare","1.getting-started\u002F7.compare","i-lucide-git-compare",{"title":43,"path":44,"stem":45,"icon":46},"FAQ","\u002Fgetting-started\u002Ffaq","1.getting-started\u002F8.faq","i-lucide-circle-help","i-lucide-rocket",{"title":49,"path":50,"stem":51,"children":52,"icon":54},"Examples","\u002Fexamples","2.examples\u002F1.index",[53,55,60,65,70,74],{"title":49,"path":50,"stem":51,"icon":54},"i-lucide-waypoints",{"title":56,"path":57,"stem":58,"icon":59},"Register a confirmed account","\u002Fexamples\u002Fregister-confirmed-account","2.examples\u002F2.register-confirmed-account","i-lucide-mail-check",{"title":61,"path":62,"stem":63,"icon":64},"Reset a forgotten password","\u002Fexamples\u002Freset-forgotten-password","2.examples\u002F3.reset-forgotten-password","i-lucide-key-round",{"title":66,"path":67,"stem":68,"icon":69},"Enable and disable two-factor authentication","\u002Fexamples\u002Ftwo-factor","2.examples\u002F4.two-factor","i-lucide-smartphone",{"title":71,"path":72,"stem":73,"icon":36},"Complete step-up (ReAuth)","\u002Fexamples\u002Freauth","2.examples\u002F5.reauth",{"title":75,"path":76,"stem":77,"icon":78},"Sign in with a passkey","\u002Fexamples\u002Fpasskey-sign-in","2.examples\u002F6.passkey-sign-in","i-lucide-fingerprint",{"title":80,"path":81,"stem":82,"children":83,"icon":97},"Composable Endpoints","\u002Fcomposables","3.composables\u002F1.index",[84,87,92],{"title":85,"path":81,"stem":82,"icon":86},"Overview","i-lucide-layout-grid",{"title":88,"path":89,"stem":90,"icon":91},"Requirements","\u002Fcomposables\u002Frequirements","3.composables\u002F2.requirements","i-lucide-list-checks",{"title":93,"path":94,"stem":95,"icon":96},"Recipes","\u002Fcomposables\u002Frecipes","3.composables\u002F3.recipes","i-lucide-book-marked","i-lucide-blocks",{"title":99,"icon":100,"path":101,"stem":102,"children":103,"page":138},"Modules","i-lucide-package","\u002Fmodules","4.modules",[104,109,114,119,123,128,133],{"title":105,"path":106,"stem":107,"icon":108},"Identity management","\u002Fmodules\u002Fidentity-management","4.modules\u002F1.identity-management","i-lucide-user-cog",{"title":110,"path":111,"stem":112,"icon":113},"Cookie auth","\u002Fmodules\u002Fcookie-auth","4.modules\u002F2.cookie-auth","i-lucide-cookie",{"title":115,"path":116,"stem":117,"icon":118},"Bearer auth","\u002Fmodules\u002Fbearer-auth","4.modules\u002F3.bearer-auth","i-lucide-key",{"title":120,"path":121,"stem":122,"icon":78},"JWT","\u002Fmodules\u002Fjwt","4.modules\u002F4.jwt",{"title":124,"path":125,"stem":126,"icon":127},"Passkeys","\u002Fmodules\u002Fpasskeys","4.modules\u002F5.passkeys","i-lucide-scan-face",{"title":129,"path":130,"stem":131,"icon":132},"ReAuth","\u002Fmodules\u002Freauth","4.modules\u002F6.reauth","i-lucide-shield-alert",{"title":134,"path":135,"stem":136,"icon":137},"External OAuth","\u002Fmodules\u002Fexternal-oauth","4.modules\u002F7.external-oauth","i-lucide-log-in",false,{"id":140,"title":75,"body":141,"description":265,"extension":266,"links":267,"meta":268,"navigation":269,"path":76,"seo":270,"stem":77,"__hash__":271},"docs\u002F2.examples\u002F6.passkey-sign-in.md",{"type":142,"value":143,"toc":258},"minimark",[144,152,171,176,239,243],[145,146,147,148,151],"p",{},"Sign in an existing, confirmed account with WebAuthn. Unconfirmed register and check-email stay on ",[149,150,56],"a",{"href":57},".",[145,153,154,155,159,160,163,164,167,168,151],{},"Facade defaults: passkeys under ",[156,157,158],"code",{},"\u002Faccount\u002Fpasskeys",". Default completer is ",[156,161,162],{},"IdentityPasskeySignInCompleter",". Cookie query flags follow Identity ",[156,165,166],{},"Login",", not ",[156,169,170],{},"LoginCookie",[172,173,175],"h2",{"id":174},"steps","Steps",[177,178,179,191,201,208,226,232],"ol",{},[180,181,182,183,186,187,190],"li",{},"Call ",[156,184,185],{},"GET \u002Fidentity\u002FcsrfToken"," and send ",[156,188,189],{},"RequestVerificationToken"," on the POSTs below.",[180,192,193,196,197,200],{},[156,194,195],{},"POST \u002Faccount\u002Fpasskeys\u002FrequestOptions"," (optional query ",[156,198,199],{},"username"," \u002F email). CSRF required.",[180,202,203,204,207],{},"Run ",[156,205,206],{},"navigator.credentials.get(…)"," with the returned options. If the user cancels, stop. Do not call login.",[180,209,210,213,214,217,218,221,222,225],{},[156,211,212],{},"POST \u002Faccount\u002Fpasskeys\u002Flogin?useCookies=true"," with body ",[156,215,216],{},"{ \"credentialJson\" }"," and CSRF. Use ",[156,219,220],{},"useSessionCookies=true"," for a session cookie, or omit both flags for an Identity bearer ",[156,223,224],{},"AccessTokenResponse"," instead of a cookie.",[180,227,228,229,151],{},"On success with cookie flags, enter the app with ",[156,230,231],{},"credentials: \"include\"",[180,233,234,235,238],{},"Unconfirmed or locked-out accounts: ",[156,236,237],{},"401"," Invalid credentials (no session).",[172,240,242],{"id":241},"related","Related",[244,245,246,250,254],"ul",{},[180,247,248],{},[149,249,56],{"href":57},[180,251,252],{},[149,253,124],{"href":125},[180,255,256],{},[149,257,110],{"href":111},{"title":259,"searchDepth":260,"depth":261,"links":262},"",1,2,[263,264],{"id":174,"depth":261,"text":175},{"id":241,"depth":261,"text":242},"Passwordless login for a confirmed account on the cookie facade.","md",null,{},{"icon":78},{"title":75,"description":265},"eU4aebVD0ng8OKj6Nkxl5HRgUHwyQpdVw2Du_k15BOA",[273,275],{"title":71,"path":72,"stem":73,"description":274,"icon":36,"children":-1},"Prove identity before a CSRF-protected manage or host action.",{"title":85,"path":81,"stem":82,"description":276,"icon":86,"children":-1},"Compose Identity management, sign-in stacks, and passkeys on the prefixes your host needs.",1789052353293]