[{"data":1,"prerenderedAt":1534},["ShallowReactive",2],{"navigation":3,"\u002Fmodules\u002Ferrors":203,"\u002Fmodules\u002Ferrors-surround":1529},[4,33,96,114,177],{"title":5,"path":6,"stem":7,"children":8,"icon":32},"Get started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22,27],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Install AuthEndpoints","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-play",{"title":23,"path":24,"stem":25,"icon":26},"Choose a sign-in stack","\u002Fgetting-started\u002Fchoose-a-sign-in-stack","1.getting-started\u002F4.choose-a-sign-in-stack","i-lucide-signpost",{"title":28,"path":29,"stem":30,"icon":31},"Use the AuthEndpoints skill with coding agents","\u002Fgetting-started\u002Fai-agents","1.getting-started\u002F5.ai-agents","i-lucide-bot","i-lucide-rocket",{"title":34,"path":35,"stem":36,"children":37,"icon":95},"Guides","\u002Fguides","2.guides\u002F01.index",[38,40,45,50,55,60,65,70,75,80,85,90],{"title":34,"path":35,"stem":36,"icon":39},"i-lucide-list-checks",{"title":41,"path":42,"stem":43,"icon":44},"Register users","\u002Fguides\u002Fregistration","2.guides\u002F02.registration","i-lucide-user-plus",{"title":46,"path":47,"stem":48,"icon":49},"Sign users in","\u002Fguides\u002Fsign-in","2.guides\u002F03.sign-in","i-lucide-log-in",{"title":51,"path":52,"stem":53,"icon":54},"Sign users out","\u002Fguides\u002Fsign-out","2.guides\u002F04.sign-out","i-lucide-log-out",{"title":56,"path":57,"stem":58,"icon":59},"Turn on two-factor authentication","\u002Fguides\u002Ftwo-factor","2.guides\u002F05.two-factor","i-lucide-smartphone",{"title":61,"path":62,"stem":63,"icon":64},"Reset a forgotten password","\u002Fguides\u002Freset-password","2.guides\u002F06.reset-password","i-lucide-key-round",{"title":66,"path":67,"stem":68,"icon":69},"Change a user's email or password","\u002Fguides\u002Fmanage-account","2.guides\u002F07.manage-account","i-lucide-user-cog",{"title":71,"path":72,"stem":73,"icon":74},"Add, rename, and remove passkeys","\u002Fguides\u002Fmanage-passkeys","2.guides\u002F08.manage-passkeys","i-lucide-scan-face",{"title":76,"path":77,"stem":78,"icon":79},"Link and unlink GitHub or Google accounts","\u002Fguides\u002Flink-external-accounts","2.guides\u002F09.link-external-accounts","i-lucide-link",{"title":81,"path":82,"stem":83,"icon":84},"Require step-up before sensitive actions","\u002Fguides\u002Fstep-up","2.guides\u002F10.step-up","i-lucide-shield-check",{"title":86,"path":87,"stem":88,"icon":89},"Call the API from a browser","\u002Fguides\u002Fbrowser-clients","2.guides\u002F11.browser-clients","i-lucide-globe",{"title":91,"path":92,"stem":93,"icon":94},"Prepare for production","\u002Fguides\u002Fproduction","2.guides\u002F12.production","i-lucide-factory","i-lucide-waypoints",{"title":97,"path":98,"stem":99,"children":100,"icon":113},"Composable endpoints","\u002Fcomposables","3.composables\u002F1.index",[101,104,108],{"title":102,"path":98,"stem":99,"icon":103},"How composition works","i-lucide-layout-grid",{"title":105,"path":106,"stem":107,"icon":39},"Composition requirements","\u002Fcomposables\u002Frequirements","3.composables\u002F2.requirements",{"title":109,"path":110,"stem":111,"icon":112},"Compose a custom auth stack","\u002Fcomposables\u002Frecipes","3.composables\u002F3.recipes","i-lucide-book-marked","i-lucide-blocks",{"title":115,"icon":116,"path":117,"stem":118,"children":119,"page":176},"Reference","i-lucide-book-open","\u002Fmodules","4.modules",[120,125,129,134,139,144,148,153,157,162,166,171],{"title":121,"path":122,"stem":123,"icon":124},"Endpoint reference","\u002Fmodules\u002Fendpoints","4.modules\u002F01.endpoints","i-lucide-route",{"title":126,"path":127,"stem":128,"icon":69},"Identity management module","\u002Fmodules\u002Fidentity-management","4.modules\u002F02.identity-management",{"title":130,"path":131,"stem":132,"icon":133},"Cookie sign-in module","\u002Fmodules\u002Fcookie-auth","4.modules\u002F03.cookie-auth","i-lucide-cookie",{"title":135,"path":136,"stem":137,"icon":138},"Identity bearer sign-in module","\u002Fmodules\u002Fbearer-auth","4.modules\u002F04.bearer-auth","i-lucide-key",{"title":140,"path":141,"stem":142,"icon":143},"JWT module","\u002Fmodules\u002Fjwt","4.modules\u002F05.jwt","i-lucide-fingerprint",{"title":145,"path":146,"stem":147,"icon":74},"Passkeys module","\u002Fmodules\u002Fpasskeys","4.modules\u002F06.passkeys",{"title":149,"path":150,"stem":151,"icon":152},"ReAuth module","\u002Fmodules\u002Freauth","4.modules\u002F07.reauth","i-lucide-shield-alert",{"title":154,"path":155,"stem":156,"icon":49},"External OAuth packages","\u002Fmodules\u002Fexternal-oauth","4.modules\u002F08.external-oauth",{"title":158,"path":159,"stem":160,"icon":161},"Configuration options","\u002Fmodules\u002Fconfiguration","4.modules\u002F09.configuration","i-lucide-settings",{"title":163,"path":164,"stem":165,"icon":84},"Antiforgery (CSRF) rules","\u002Fmodules\u002Fcsrf","4.modules\u002F10.csrf",{"title":167,"path":168,"stem":169,"icon":170},"Responses and errors","\u002Fmodules\u002Ferrors","4.modules\u002F11.errors","i-lucide-circle-alert",{"title":172,"path":173,"stem":174,"icon":175},"Rate-limit policies","\u002Fmodules\u002Frate-limits","4.modules\u002F12.rate-limits","i-lucide-gauge",false,{"title":178,"icon":179,"path":180,"stem":181,"children":182,"page":176},"Concepts","i-lucide-lightbulb","\u002Fconcepts","5.concepts",[183,188,193,198],{"title":184,"path":185,"stem":186,"icon":187},"AuthEndpoints compared with other options","\u002Fconcepts\u002Fcompare","5.concepts\u002F1.compare","i-lucide-git-compare",{"title":189,"path":190,"stem":191,"icon":192},"Stock Identity endpoints vs AuthEndpoints","\u002Fconcepts\u002Fstock-identity-vs-authendpoints","5.concepts\u002F2.stock-identity-vs-authendpoints","i-lucide-columns-2",{"title":194,"path":195,"stem":196,"icon":197},"Security model","\u002Fconcepts\u002Fsecurity-model","5.concepts\u002F3.security-model","i-lucide-shield",{"title":199,"path":200,"stem":201,"icon":202},"FAQ","\u002Fconcepts\u002Ffaq","5.concepts\u002F4.faq","i-lucide-circle-help",{"id":204,"title":167,"body":205,"description":1522,"extension":1523,"links":1524,"meta":1525,"navigation":1526,"path":168,"seo":1527,"stem":169,"__hash__":1528},"docs\u002F4.modules\u002F11.errors.md",{"type":206,"value":207,"toc":1509},"minimark",[208,225,230,298,302,568,572,662,666,786,790,945,949,1212,1216,1239,1404,1413,1490,1494],[209,210,211,212,216,217,220,221,224],"p",{},"Most errors are problem details (",[213,214,215],"code",{},"application\u002Fproblem+json","). Validation errors are ",[213,218,219],{},"ValidationProblem"," responses: problem details with an ",[213,222,223],{},"errors"," object keyed by code. A few routes return other shapes. Each table below names the exact shape.",[226,227,229],"h2",{"id":228},"shared-responses","Shared responses",[231,232,233,249],"table",{},[234,235,236],"thead",{},[237,238,239,243,246],"tr",{},[240,241,242],"th",{},"Status",[240,244,245],{},"Body",[240,247,248],{},"Cause",[250,251,252,269,286],"tbody",{},[237,253,254,260,266],{},[255,256,257],"td",{},[213,258,259],{},"400",[255,261,262,263],{},"Plain text ",[213,264,265],{},"Invalid or missing CSRF token.",[255,267,268],{},"The antiforgery filter rejected the request.",[237,270,271,280,283],{},[255,272,273,276,277],{},[213,274,275],{},"401"," or ",[213,278,279],{},"403",[255,281,282],{},"Empty",[255,284,285],{},"The route requires ReAuth and the request has no valid proof.",[237,287,288,293,295],{},[255,289,290],{},[213,291,292],{},"429",[255,294,282],{},[255,296,297],{},"A rate-limit policy rejected the request.",[226,299,301],{"id":300},"identity-management","Identity management",[231,303,304,316],{},[234,305,306],{},[237,307,308,311,313],{},[240,309,310],{},"Route",[240,312,242],{},[240,314,315],{},"Shape",[250,317,318,333,352,369,379,409,422,436,449,466,482,503,526,545],{},[237,319,320,325,330],{},[255,321,322],{},[213,323,324],{},"POST \u002Fregister",[255,326,327],{},[213,328,329],{},"200",[255,331,332],{},"Empty. Also returned for a duplicate email.",[237,334,335,337,341],{},[255,336],{},[255,338,339],{},[213,340,259],{},[255,342,343,345,346,276,349],{},[213,344,219],{}," with Identity error codes, such as ",[213,347,348],{},"InvalidEmail",[213,350,351],{},"PasswordTooShort",[237,353,354,359,363],{},[255,355,356],{},[213,357,358],{},"GET \u002FconfirmEmail",[255,360,361],{},[213,362,329],{},[255,364,365,366],{},"Text ",[213,367,368],{},"Thank you for confirming your email.",[237,370,371,373,377],{},[255,372],{},[255,374,375],{},[213,376,275],{},[255,378,282],{},[237,380,381,383,388],{},[255,382],{},[255,384,385],{},[213,386,387],{},"302",[255,389,390,391,394,395,276,398,401,402,276,405,408],{},"Only when ",[213,392,393],{},"ConfirmEmailRedirectUri"," is set. Query ",[213,396,397],{},"status=confirmed",[213,399,400],{},"status=failed",", and ",[213,403,404],{},"flow=confirm",[213,406,407],{},"flow=change-email",".",[237,410,411,416,420],{},[255,412,413],{},[213,414,415],{},"POST \u002FresendConfirmationEmail",[255,417,418],{},[213,419,329],{},[255,421,282],{},[237,423,424,429,433],{},[255,425,426],{},[213,427,428],{},"POST \u002FforgotPassword",[255,430,431],{},[213,432,329],{},[255,434,435],{},"Empty, always",[237,437,438,443,447],{},[255,439,440],{},[213,441,442],{},"POST \u002FresetPassword",[255,444,445],{},[213,446,329],{},[255,448,282],{},[237,450,451,453,457],{},[255,452],{},[255,454,455],{},[213,456,259],{},[255,458,459,461,462,465],{},[213,460,219],{}," ",[213,463,464],{},"InvalidToken"," (bad code, unknown email, or unconfirmed email), or password-rule codes",[237,467,468,473,477],{},[255,469,470],{},[213,471,472],{},"GET \u002Fmanage\u002F2fa",[255,474,475],{},[213,476,329],{},[255,478,479],{},[213,480,481],{},"{ \"isTwoFactorEnabled\" }",[237,483,484,489,493],{},[255,485,486],{},[213,487,488],{},"POST \u002Fmanage\u002F2fa",[255,490,491],{},[213,492,329],{},[255,494,495,498,499,502],{},[213,496,497],{},"{ \"sharedKey\", \"recoveryCodesLeft\", \"recoveryCodes\", \"isTwoFactorEnabled\", \"isMachineRemembered\" }",". ",[213,500,501],{},"sharedKey"," is empty unless the key was just created, it was reset, or the request turned 2FA on.",[237,504,505,507,511],{},[255,506],{},[255,508,509],{},[213,510,259],{},[255,512,513,461,515,518,519,522,523],{},[213,514,219],{},[213,516,517],{},"CannotResetSharedKeyAndEnable",", ",[213,520,521],{},"RequiresTwoFactor",", or ",[213,524,525],{},"InvalidTwoFactorCode",[237,527,528,536,540],{},[255,529,530,518,533],{},[213,531,532],{},"GET \u002Fmanage\u002Finfo",[213,534,535],{},"POST \u002Fmanage\u002Finfo",[255,537,538],{},[213,539,329],{},[255,541,542],{},[213,543,544],{},"{ \"email\", \"isEmailConfirmed\" }",[237,546,547,551,555],{},[255,548,549],{},[213,550,535],{},[255,552,553],{},[213,554,259],{},[255,556,557,461,559,518,562,518,564,567],{},[213,558,219],{},[213,560,561],{},"OldPasswordRequired",[213,563,348],{},[213,565,566],{},"PasswordMismatch",", or password-rule codes",[226,569,571],{"id":570},"reauth","ReAuth",[231,573,574,584],{},[234,575,576],{},[237,577,578,580,582],{},[240,579,310],{},[240,581,242],{},[240,583,315],{},[250,585,586,602,616,637,651],{},[237,587,588,593,597],{},[255,589,590],{},[213,591,592],{},"GET \u002Fmanage\u002FauthMethods",[255,594,595],{},[213,596,329],{},[255,598,599],{},[213,600,601],{},"{ \"password\", \"authenticator\", \"recoveryCodes\", \"passkeys\", \"passkeyCount\" }",[237,603,604,609,613],{},[255,605,606],{},[213,607,608],{},"POST \u002FconfirmIdentity\u002FpasskeyOptions",[255,610,611],{},[213,612,329],{},[255,614,615],{},"WebAuthn request options JSON",[237,617,618,623,627],{},[255,619,620],{},[213,621,622],{},"POST \u002FconfirmIdentity",[255,624,625],{},[213,626,329],{},[255,628,629,632,633,636],{},[213,630,631],{},"{ \"reauthToken\" }"," and the ",[213,634,635],{},"AuthEndpoints.ReAuth"," cookie",[237,638,639,641,645],{},[255,640],{},[255,642,643],{},[213,644,259],{},[255,646,647,648],{},"Plain JSON string ",[213,649,650],{},"Provide exactly one of Password, TwoFactorCode, TwoFactorRecoveryCode, or CredentialJson.",[237,652,653,655,659],{},[255,654],{},[255,656,657],{},[213,658,275],{},[255,660,661],{},"Empty. The proof was wrong, or the passkey belongs to another user.",[226,663,665],{"id":664},"cookie-and-identity-bearer-sign-in","Cookie and Identity bearer sign-in",[231,667,668,678],{},[234,669,670],{},[237,671,672,674,676],{},[240,673,310],{},[240,675,242],{},[240,677,315],{},[250,679,680,697,714,730,746,757,770],{},[237,681,682,687,691],{},[255,683,684],{},[213,685,686],{},"POST \u002Flogin",[255,688,689],{},[213,690,329],{},[255,692,693,694,408],{},"Empty with a cookie. Identity bearer without query flags returns ",[213,695,696],{},"{ \"tokenType\", \"accessToken\", \"expiresIn\", \"refreshToken\" }",[237,698,699,701,705],{},[255,700],{},[255,702,703],{},[213,704,275],{},[255,706,707,708,710,711],{},"Problem details, title ",[213,709,521],{},", detail ",[213,712,713],{},"Two-factor authentication is required.",[237,715,716,718,722],{},[255,717],{},[255,719,720],{},[213,721,275],{},[255,723,707,724,710,727],{},[213,725,726],{},"Unauthorized",[213,728,729],{},"Invalid credentials.",[237,731,732,738,742],{},[255,733,734,737],{},[213,735,736],{},"POST \u002Frefresh"," (Identity bearer)",[255,739,740],{},[213,741,329],{},[255,743,744],{},[213,745,696],{},[237,747,748,750,754],{},[255,749],{},[255,751,752],{},[213,753,275],{},[255,755,756],{},"Empty. The refresh token expired or the security stamp changed.",[237,758,759,764,768],{},[255,760,761],{},[213,762,763],{},"POST \u002Flogout",[255,765,766],{},[213,767,329],{},[255,769,282],{},[237,771,772,777,781],{},[255,773,774],{},[213,775,776],{},"GET \u002FcsrfToken",[255,778,779],{},[213,780,329],{},[255,782,783],{},[213,784,785],{},"{ \"csrfToken\" }",[226,787,789],{"id":788},"jwt","JWT",[231,791,792,802],{},[234,793,794],{},[237,795,796,798,800],{},[240,797,310],{},[240,799,242],{},[240,801,315],{},[250,803,804,823,837,850,866,880,896,919,933],{},[237,805,806,811,815],{},[255,807,808],{},[213,809,810],{},"POST \u002Fcreate",[255,812,813],{},[213,814,329],{},[255,816,817,632,820,636],{},[213,818,819],{},"{ \"accessToken\", \"tokenType\": \"Bearer\" }",[213,821,822],{},"AuthEndpoints.Jwt.RefreshToken",[237,824,825,827,831],{},[255,826],{},[255,828,829],{},[213,830,259],{},[255,832,833,836],{},[213,834,835],{},"{ \"error\": \"invalid_request\", \"error_description\" }",". Not problem details.",[237,838,839,841,845],{},[255,840],{},[255,842,843],{},[213,844,275],{},[255,846,847,848],{},"Problem details, detail ",[213,849,729],{},[237,851,852,854,858],{},[255,853],{},[255,855,856],{},[213,857,275],{},[255,859,847,860,862,863],{},[213,861,713],{},", extension ",[213,864,865],{},"requiresTwoFactor: true",[237,867,868,870,874],{},[255,869],{},[255,871,872],{},[213,873,275],{},[255,875,847,876,879],{},[213,877,878],{},"Invalid two factor code.",", or the Identity error description for a bad recovery code",[237,881,882,886,890],{},[255,883,884],{},[213,885,736],{},[255,887,888],{},[213,889,329],{},[255,891,892,895],{},[213,893,894],{},"{ \"accessToken\" }"," with a rotated refresh cookie",[237,897,898,900,904],{},[255,899],{},[255,901,902],{},[213,903,259],{},[255,905,906,909,910,518,913,518,916],{},[213,907,908],{},"{ \"errors\": [\"...\"] }",". Messages: ",[213,911,912],{},"Missing refresh token cookie.",[213,914,915],{},"Invalid refresh token. Token may be expired or revoked by the server.",[213,917,918],{},"Associated user no longer exists.",[237,920,921,926,931],{},[255,922,923],{},[213,924,925],{},"GET \u002Fverify",[255,927,928],{},[213,929,930],{},"204",[255,932,282],{},[237,934,935,939,943],{},[255,936,937],{},[213,938,763],{},[255,940,941],{},[213,942,329],{},[255,944,282],{},[226,946,948],{"id":947},"passkeys","Passkeys",[231,950,951,961],{},[234,952,953],{},[237,954,955,957,959],{},[240,956,310],{},[240,958,242],{},[240,960,315],{},[250,962,963,983,1001,1018,1034,1051,1076,1089,1103,1117,1133,1154,1170,1186,1201],{},[237,964,965,976,980],{},[255,966,967,518,970,518,973],{},[213,968,969],{},"POST \u002Fpasskeys\u002FcreationOptions",[213,971,972],{},"\u002FrequestOptions",[213,974,975],{},"\u002Fregister\u002Foptions",[255,977,978],{},[213,979,329],{},[255,981,982],{},"WebAuthn options JSON",[237,984,985,990,994],{},[255,986,987],{},[213,988,989],{},"POST \u002Fpasskeys\u002Fregister\u002Foptions",[255,991,992],{},[213,993,259],{},[255,995,996,461,998],{},[213,997,219],{},[213,999,1000],{},"Email",[237,1002,1003,1008,1012],{},[255,1004,1005],{},[213,1006,1007],{},"POST \u002Fpasskeys\u002Fregister",[255,1009,1010],{},[213,1011,329],{},[255,1013,1014,1017],{},[213,1015,1016],{},"{ \"credentialId\" }"," when sign-in is not allowed. When it is allowed, the completer's response.",[237,1019,1020,1022,1026],{},[255,1021],{},[255,1023,1024],{},[213,1025,259],{},[255,1027,847,1028,276,1031],{},[213,1029,1030],{},"Unable to complete registration.",[213,1032,1033],{},"The browser did not provide a passkey.",[237,1035,1036,1038,1042],{},[255,1037],{},[255,1039,1040],{},[213,1041,259],{},[255,1043,1044,461,1046,276,1048],{},[213,1045,219],{},[213,1047,1000],{},[213,1049,1050],{},"InvalidPasskeyState",[237,1052,1053,1058,1062],{},[255,1054,1055],{},[213,1056,1057],{},"POST \u002Fpasskeys\u002Flogin",[255,1059,1060],{},[213,1061,329],{},[255,1063,1064,1065,276,1068,1071,1072,1075],{},"Empty with a cookie (",[213,1066,1067],{},"useCookies",[213,1069,1070],{},"useSessionCookies","), ",[213,1073,1074],{},"AccessTokenResponse"," (no flag), or the JWT shape (JWT completer)",[237,1077,1078,1080,1084],{},[255,1079],{},[255,1081,1082],{},[213,1083,259],{},[255,1085,707,1086],{},[213,1087,1088],{},"Invalid Credential",[237,1090,1091,1093,1097],{},[255,1092],{},[255,1094,1095],{},[213,1096,259],{},[255,1098,1099,461,1101],{},[213,1100,219],{},[213,1102,1050],{},[237,1104,1105,1107,1111],{},[255,1106],{},[255,1108,1109],{},[213,1110,275],{},[255,1112,707,1113,710,1115],{},[213,1114,726],{},[213,1116,729],{},[237,1118,1119,1124,1128],{},[255,1120,1121],{},[213,1122,1123],{},"POST \u002Fpasskeys\u002F",[255,1125,1126],{},[213,1127,329],{},[255,1129,1130],{},[213,1131,1132],{},"{ \"credentialId\", \"displayName\", \"createdAt\" }",[237,1134,1135,1137,1141],{},[255,1136],{},[255,1138,1139],{},[213,1140,259],{},[255,1142,1143,461,1145,518,1148,522,1151,1153],{},[213,1144,219],{},[213,1146,1147],{},"Name",[213,1149,1150],{},"UserMismatch",[213,1152,1050],{},". Problem details for a failed attestation or store error.",[237,1155,1156,1161,1165],{},[255,1157,1158],{},[213,1159,1160],{},"GET \u002Fpasskeys\u002F",[255,1162,1163],{},[213,1164,329],{},[255,1166,1167],{},[213,1168,1169],{},"{ \"passkeys\": [{ \"credentialId\", \"displayName\", \"createdAt\" }] }",[237,1171,1172,1180,1184],{},[255,1173,1174,518,1177],{},[213,1175,1176],{},"PATCH \u002Fpasskeys\u002F",[213,1178,1179],{},"DELETE \u002Fpasskeys\u002F{credentialIdUrl}",[255,1181,1182],{},[213,1183,329],{},[255,1185,282],{},[237,1187,1188,1190,1194],{},[255,1189],{},[255,1191,1192],{},[213,1193,259],{},[255,1195,1196,461,1198],{},[213,1197,219],{},[213,1199,1200],{},"InvalidCredentialId",[237,1202,1203,1205,1210],{},[255,1204],{},[255,1206,1207],{},[213,1208,1209],{},"404",[255,1211,282],{},[226,1213,1215],{"id":1214},"external-oauth-errors","External OAuth errors",[209,1217,1218,1219,1222,1223,1226,1227,1230,1231,1234,1235,1238],{},"The login and link callbacks redirect to ",[213,1220,1221],{},"ErrorPath?error=\u003Ccode>&error_description=\u003Ctext>",". A request whose ",[213,1224,1225],{},"Accept"," header prefers ",[213,1228,1229],{},"application\u002Fjson"," over ",[213,1232,1233],{},"text\u002Fhtml"," gets problem details instead, with ",[213,1236,1237],{},"title"," set to the code.",[231,1240,1241,1252],{},[234,1242,1243],{},[237,1244,1245,1248,1250],{},[240,1246,1247],{},"Code",[240,1249,242],{},[240,1251,248],{},[250,1253,1254,1268,1282,1296,1317,1331,1345,1359,1373,1387],{},[237,1255,1256,1261,1265],{},[255,1257,1258],{},[213,1259,1260],{},"provider_mismatch",[255,1262,1263],{},[213,1264,259],{},[255,1266,1267],{},"The provider login does not match the callback route.",[237,1269,1270,1275,1279],{},[255,1271,1272],{},[213,1273,1274],{},"email_missing",[255,1276,1277],{},[213,1278,259],{},[255,1280,1281],{},"The provider returned no email.",[237,1283,1284,1289,1293],{},[255,1285,1286],{},[213,1287,1288],{},"email_unverified",[255,1290,1291],{},[213,1292,259],{},[255,1294,1295],{},"The provider email is not verified, and the flow requires it.",[237,1297,1298,1303,1307],{},[255,1299,1300],{},[213,1301,1302],{},"auto_link_disabled",[255,1304,1305],{},[213,1306,259],{},[255,1308,1309,1310,1313,1314,408],{},"A local account has this email, and ",[213,1311,1312],{},"AutoLinkByEmail"," is ",[213,1315,1316],{},"false",[237,1318,1319,1324,1328],{},[255,1320,1321],{},[213,1322,1323],{},"email_unconfirmed",[255,1325,1326],{},[213,1327,259],{},[255,1329,1330],{},"Auto-link was refused because the local email is not confirmed.",[237,1332,1333,1338,1342],{},[255,1334,1335],{},[213,1336,1337],{},"user_create_failed",[255,1339,1340],{},[213,1341,259],{},[255,1343,1344],{},"Identity could not create the user.",[237,1346,1347,1352,1356],{},[255,1348,1349],{},[213,1350,1351],{},"login_link_failed",[255,1353,1354],{},[213,1355,259],{},[255,1357,1358],{},"Identity could not add the login.",[237,1360,1361,1366,1370],{},[255,1362,1363],{},[213,1364,1365],{},"external_login_info_missing",[255,1367,1368],{},[213,1369,259],{},[255,1371,1372],{},"No external login information was found for the callback.",[237,1374,1375,1380,1384],{},[255,1376,1377],{},[213,1378,1379],{},"user_locked_out",[255,1381,1382],{},[213,1383,275],{},[255,1385,1386],{},"The user is locked out.",[237,1388,1389,1394,1398],{},[255,1390,1391],{},[213,1392,1393],{},"user_not_allowed",[255,1395,1396],{},[213,1397,275],{},[255,1399,1400,1403],{},[213,1401,1402],{},"CanSignInAsync"," failed, for example because the email is not confirmed.",[209,1405,1406,1407,1410,1411,408],{},"A provider error (",[213,1408,1409],{},"error"," in the callback query) is passed through with status ",[213,1412,259],{},[231,1414,1415,1425],{},[234,1416,1417],{},[237,1418,1419,1421,1423],{},[240,1420,310],{},[240,1422,242],{},[240,1424,315],{},[250,1426,1427,1443,1456,1469,1480],{},[237,1428,1429,1434,1438],{},[255,1430,1431],{},[213,1432,1433],{},"GET \u002Flogins",[255,1435,1436],{},[213,1437,329],{},[255,1439,1440],{},[213,1441,1442],{},"[{ \"loginProvider\", \"providerKey\", \"providerDisplayName\" }]",[237,1444,1445,1450,1454],{},[255,1446,1447],{},[213,1448,1449],{},"DELETE \u002Flogins\u002F{loginProvider}\u002F{providerKey}",[255,1451,1452],{},[213,1453,930],{},[255,1455,282],{},[237,1457,1458,1460,1464],{},[255,1459],{},[255,1461,1462],{},[213,1463,259],{},[255,1465,707,1466],{},[213,1467,1468],{},"last_signin_method",[237,1470,1471,1473,1477],{},[255,1472],{},[255,1474,1475],{},[213,1476,275],{},[255,1478,1479],{},"Empty. No ReAuth proof.",[237,1481,1482,1484,1488],{},[255,1483],{},[255,1485,1486],{},[213,1487,1209],{},[255,1489,282],{},[226,1491,1493],{"id":1492},"related","Related",[1495,1496,1497,1504],"ul",{},[1498,1499,1500],"li",{},[1501,1502,121],"a",{"href":1503},"\u002Fmodules\u002Fendpoints\u002F",[1498,1505,1506],{},[1501,1507,163],{"href":1508},"\u002Fmodules\u002Fcsrf\u002F",{"title":1510,"searchDepth":1511,"depth":1512,"links":1513},"",1,2,[1514,1515,1516,1517,1518,1519,1520,1521],{"id":228,"depth":1512,"text":229},{"id":300,"depth":1512,"text":301},{"id":570,"depth":1512,"text":571},{"id":664,"depth":1512,"text":665},{"id":788,"depth":1512,"text":789},{"id":947,"depth":1512,"text":948},{"id":1214,"depth":1512,"text":1215},{"id":1492,"depth":1512,"text":1493},"Success and error response shapes for every AuthEndpoints module.","md",null,{},{"icon":170},{"title":167,"description":1522},"6n92hqJ-l2O0LJ6tIT-0Y1EKMw4fG-vOctnqHTGk7OU",[1530,1532],{"title":163,"path":164,"stem":165,"description":1531,"icon":84,"children":-1},"Which AuthEndpoints routes require an antiforgery token, when the check is skipped, and what a failure returns.",{"title":172,"path":173,"stem":174,"description":1533,"icon":175,"children":-1},"The rate-limit policies AuthEndpoints registers, their limits, and the routes that use them.",1791123629313]