[{"data":1,"prerenderedAt":2553},["ShallowReactive",2],{"navigation":3,"\u002Fadvanced\u002Fcookie-configuration":170,"\u002Fadvanced\u002Fcookie-configuration-surround":2548},[4,18,43,75,103,120,134],{"title":5,"path":6,"stem":7,"children":8,"icon":17},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-simple-icons-laravel",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",false,{"title":19,"path":20,"stem":21,"children":22,"page":17},"Sanctum","\u002Fsanctum","2.sanctum",[23,28,33,38],{"title":24,"path":25,"stem":26,"icon":27},"Configuration","\u002Fsanctum\u002Fconfiguration","2.sanctum\u002F1.configuration","i-lucide-cog",{"title":29,"path":30,"stem":31,"icon":32},"Cookie Authentication","\u002Fsanctum\u002Fcookie","2.sanctum\u002F2.cookie","i-lucide-cookie",{"title":34,"path":35,"stem":36,"icon":37},"Sanctum 2FA Flow","\u002Fsanctum\u002Ftwo-factor","2.sanctum\u002F3.two-factor","i-lucide-shield-check",{"title":39,"path":40,"stem":41,"icon":42},"Server Proxy","\u002Fsanctum\u002Fproxy","2.sanctum\u002F4.proxy","i-lucide-waypoints",{"title":44,"path":45,"stem":46,"children":47,"page":17},"Passport","\u002Fpassport","3.passport",[48,51,56,61,66,70],{"title":24,"path":49,"stem":50,"icon":27},"\u002Fpassport\u002Fconfiguration","3.passport\u002F1.configuration",{"title":52,"path":53,"stem":54,"icon":55},"Login & Logout","\u002Fpassport\u002Flogin-logout","3.passport\u002F2.login-logout","i-lucide-log-in",{"title":57,"path":58,"stem":59,"icon":60},"Token Management","\u002Fpassport\u002Ftokens","3.passport\u002F3.tokens","i-lucide-key",{"title":62,"path":63,"stem":64,"icon":65},"Two-Factor Authentication","\u002Fpassport\u002Ftwo-factor","3.passport\u002F4.two-factor","i-lucide-shield",{"title":67,"path":68,"stem":69,"icon":37},"Middleware & Route Protection","\u002Fpassport\u002Fmiddleware","3.passport\u002F5.middleware",{"title":71,"path":72,"stem":73,"icon":74},"Examples & Use Cases","\u002Fpassport\u002Fexamples","3.passport\u002F6.examples","i-lucide-code",{"title":76,"path":77,"stem":78,"children":79,"page":17},"Composables","\u002Fcomposables","4.composables",[80,84,89,94,99],{"title":76,"path":81,"stem":82,"icon":83},"\u002Fcomposables\u002Fcomposables","4.composables\u002F1.composables","i-lucide-code-2",{"title":85,"path":86,"stem":87,"icon":88},"$autx","\u002Fcomposables\u002Fautx","4.composables\u002F2.autx","i-lucide-globe",{"title":90,"path":91,"stem":92,"icon":93},"useAuthConfig","\u002Fcomposables\u002Fuse-auth-config","4.composables\u002F3.use-auth-config","i-lucide-settings",{"title":95,"path":96,"stem":97,"icon":98},"useAuthStore","\u002Fcomposables\u002Fuse-auth-store","4.composables\u002F4.use-auth-store","i-lucide-database",{"title":100,"path":101,"stem":102,"icon":37},"useEnsureCsrf","\u002Fcomposables\u002Fuse-ensure-csrf","4.composables\u002F5.use-ensure-csrf",{"title":104,"path":105,"stem":106,"children":107,"page":17},"Middleware","\u002Fmiddleware","5.middleware",[108,111,116],{"title":104,"path":109,"stem":110,"icon":37},"\u002Fmiddleware\u002Fmiddleware","5.middleware\u002F1.middleware",{"title":112,"path":113,"stem":114,"icon":115},"auth","\u002Fmiddleware\u002Fauth","5.middleware\u002F2.auth","i-lucide-lock",{"title":117,"path":118,"stem":119,"icon":65},"two-factor","\u002Fmiddleware\u002Ftwo-factor","5.middleware\u002F3.two-factor",{"title":121,"path":122,"stem":123,"children":124,"page":17},"Hooks","\u002Fhooks","6.hooks",[125,129],{"title":121,"path":126,"stem":127,"icon":128},"\u002Fhooks\u002Fhooks","6.hooks\u002F1.hooks","i-lucide-webhook",{"title":130,"path":131,"stem":132,"icon":133},"prepare:types","\u002Fhooks\u002Fprepare-types","6.hooks\u002F2.prepare-types","i-lucide-file-code",{"title":135,"path":136,"stem":137,"children":138,"page":17},"Advanced","\u002Fadvanced","7.advanced",[139,143,148,152,156,161,165],{"title":135,"path":140,"stem":141,"icon":142},"\u002Fadvanced\u002Fadvanced","7.advanced\u002F1.advanced","i-lucide-settings-2",{"title":144,"path":145,"stem":146,"icon":147},"Custom Configuration","\u002Fadvanced\u002Fcustom-configuration","7.advanced\u002F2.custom-configuration","i-lucide-sliders",{"title":149,"path":150,"stem":151,"icon":32},"Cookie Configuration","\u002Fadvanced\u002Fcookie-configuration","7.advanced\u002F3.cookie-configuration",{"title":153,"path":154,"stem":155,"icon":133},"TypeScript Integration","\u002Fadvanced\u002Ftypescript-integration","7.advanced\u002F4.typescript-integration",{"title":157,"path":158,"stem":159,"icon":160},"Module Aliases","\u002Fadvanced\u002Fmodule-aliases","7.advanced\u002F5.module-aliases","i-lucide-square-library",{"title":162,"path":163,"stem":164,"icon":37},"Security Features","\u002Fadvanced\u002Fsecurity-features","7.advanced\u002F6.security-features",{"title":166,"path":167,"stem":168,"icon":169},"Runtime Configuration","\u002Fadvanced\u002Fruntime-configuration","7.advanced\u002F7.runtime-configuration","i-lucide-server",{"id":171,"title":149,"body":172,"description":2541,"extension":2542,"links":2543,"meta":2544,"navigation":2545,"path":150,"seo":2546,"stem":151,"__hash__":2547},"docs\u002F7.advanced\u002F3.cookie-configuration.md",{"type":173,"value":174,"toc":2492},"minimark",[175,179,184,187,191,385,389,394,397,428,445,448,451,480,492,496,499,533,536,556,559,562,595,597,617,621,624,665,668,671,704,707,710,786,790,793,827,831,851,855,863,877,883,905,1048,1052,1056,1197,1201,1351,1355,1569,1573,1576,1647,1650,1664,1668,1671,1691,1695,1698,1752,1756,1760,1763,1864,1868,1871,1928,1932,1935,2012,2016,2020,2037,2041,2055,2059,2077,2081,2085,2097,2101,2112,2116,2120,2131,2135,2138,2269,2273,2277,2349,2353,2445,2449,2488],[176,177,178],"p",{},"Learn how to configure cookies for authentication in Nuxt Umbu, including security options, prefixes, and environment-specific settings.",[180,181,183],"h2",{"id":182},"overview","Overview",[176,185,186],{},"Cookie configuration is crucial for authentication security. Nuxt Umbu provides flexible cookie options that can be customized for different environments and security requirements.",[180,188,190],{"id":189},"cookie-configuration-structure","Cookie Configuration Structure",[192,193,198],"pre",{"className":194,"code":195,"language":196,"meta":197,"style":197},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","auth: {\n  cookie: {\n    prefix: 'auth.',\n    options: {\n      httpOnly: false,\n      secure: false,\n      sameSite: 'Lax',\n      priority: 'high',\n      maxAge: 60 * 60 * 24 * 7,  \u002F\u002F 7 days\n      domain: '.example.com'\n    }\n  }\n}\n","typescript","",[199,200,201,216,226,247,257,271,283,300,317,351,367,373,379],"code",{"__ignoreMap":197},[202,203,206,209,213],"span",{"class":204,"line":205},"line",1,[202,207,112],{"class":208},"sBMFI",[202,210,212],{"class":211},"sMK4o",":",[202,214,215],{"class":211}," {\n",[202,217,219,222,224],{"class":204,"line":218},2,[202,220,221],{"class":208},"  cookie",[202,223,212],{"class":211},[202,225,215],{"class":211},[202,227,229,232,234,237,241,244],{"class":204,"line":228},3,[202,230,231],{"class":208},"    prefix",[202,233,212],{"class":211},[202,235,236],{"class":211}," '",[202,238,240],{"class":239},"sfazB","auth.",[202,242,243],{"class":211},"'",[202,245,246],{"class":211},",\n",[202,248,250,253,255],{"class":204,"line":249},4,[202,251,252],{"class":208},"    options",[202,254,212],{"class":211},[202,256,215],{"class":211},[202,258,260,263,265,269],{"class":204,"line":259},5,[202,261,262],{"class":208},"      httpOnly",[202,264,212],{"class":211},[202,266,268],{"class":267},"sfNiH"," false",[202,270,246],{"class":211},[202,272,274,277,279,281],{"class":204,"line":273},6,[202,275,276],{"class":208},"      secure",[202,278,212],{"class":211},[202,280,268],{"class":267},[202,282,246],{"class":211},[202,284,286,289,291,293,296,298],{"class":204,"line":285},7,[202,287,288],{"class":208},"      sameSite",[202,290,212],{"class":211},[202,292,236],{"class":211},[202,294,295],{"class":239},"Lax",[202,297,243],{"class":211},[202,299,246],{"class":211},[202,301,303,306,308,310,313,315],{"class":204,"line":302},8,[202,304,305],{"class":208},"      priority",[202,307,212],{"class":211},[202,309,236],{"class":211},[202,311,312],{"class":239},"high",[202,314,243],{"class":211},[202,316,246],{"class":211},[202,318,320,323,325,329,332,334,336,339,341,344,347],{"class":204,"line":319},9,[202,321,322],{"class":208},"      maxAge",[202,324,212],{"class":211},[202,326,328],{"class":327},"sbssI"," 60",[202,330,331],{"class":211}," *",[202,333,328],{"class":327},[202,335,331],{"class":211},[202,337,338],{"class":327}," 24",[202,340,331],{"class":211},[202,342,343],{"class":327}," 7",[202,345,346],{"class":211},",",[202,348,350],{"class":349},"sHwdD","  \u002F\u002F 7 days\n",[202,352,354,357,359,361,364],{"class":204,"line":353},10,[202,355,356],{"class":208},"      domain",[202,358,212],{"class":211},[202,360,236],{"class":211},[202,362,363],{"class":239},".example.com",[202,365,366],{"class":211},"'\n",[202,368,370],{"class":204,"line":369},11,[202,371,372],{"class":211},"    }\n",[202,374,376],{"class":204,"line":375},12,[202,377,378],{"class":211},"  }\n",[202,380,382],{"class":204,"line":381},13,[202,383,384],{"class":211},"}\n",[180,386,388],{"id":387},"cookie-options","Cookie Options",[390,391,393],"h3",{"id":392},"httponly","httpOnly",[176,395,396],{},"Controls whether the cookie is accessible via JavaScript.",[192,398,400],{"className":194,"code":399,"language":196,"meta":197,"style":197},"options: {\n  httpOnly: true  \u002F\u002F Cookie not accessible via document.cookie\n}\n",[199,401,402,411,424],{"__ignoreMap":197},[202,403,404,407,409],{"class":204,"line":205},[202,405,406],{"class":208},"options",[202,408,212],{"class":211},[202,410,215],{"class":211},[202,412,413,416,418,421],{"class":204,"line":218},[202,414,415],{"class":208},"  httpOnly",[202,417,212],{"class":211},[202,419,420],{"class":267}," true",[202,422,423],{"class":349},"  \u002F\u002F Cookie not accessible via document.cookie\n",[202,425,426],{"class":204,"line":228},[202,427,384],{"class":211},[429,430,431,439],"ul",{},[432,433,434,438],"li",{},[435,436,437],"strong",{},"true",": Cookie only accessible via HTTP (recommended for production)",[432,440,441,444],{},[435,442,443],{},"false",": Cookie accessible via JavaScript (useful for debugging)",[390,446,447],{"id":447},"secure",[176,449,450],{},"Requires HTTPS for the cookie to be sent.",[192,452,454],{"className":194,"code":453,"language":196,"meta":197,"style":197},"options: {\n  secure: true  \u002F\u002F Cookie only sent over HTTPS\n}\n",[199,455,456,464,476],{"__ignoreMap":197},[202,457,458,460,462],{"class":204,"line":205},[202,459,406],{"class":208},[202,461,212],{"class":211},[202,463,215],{"class":211},[202,465,466,469,471,473],{"class":204,"line":218},[202,467,468],{"class":208},"  secure",[202,470,212],{"class":211},[202,472,420],{"class":267},[202,474,475],{"class":349},"  \u002F\u002F Cookie only sent over HTTPS\n",[202,477,478],{"class":204,"line":228},[202,479,384],{"class":211},[429,481,482,487],{},[432,483,484,486],{},[435,485,437],{},": Cookie only sent over HTTPS (required for production)",[432,488,489,491],{},[435,490,443],{},": Cookie sent over HTTP and HTTPS (development only)",[390,493,495],{"id":494},"samesite","sameSite",[176,497,498],{},"Controls cross-site cookie sharing behavior.",[192,500,502],{"className":194,"code":501,"language":196,"meta":197,"style":197},"options: {\n  sameSite: 'Strict'  \u002F\u002F Strict cross-site policy\n}\n",[199,503,504,512,529],{"__ignoreMap":197},[202,505,506,508,510],{"class":204,"line":205},[202,507,406],{"class":208},[202,509,212],{"class":211},[202,511,215],{"class":211},[202,513,514,517,519,521,524,526],{"class":204,"line":218},[202,515,516],{"class":208},"  sameSite",[202,518,212],{"class":211},[202,520,236],{"class":211},[202,522,523],{"class":239},"Strict",[202,525,243],{"class":211},[202,527,528],{"class":349},"  \u002F\u002F Strict cross-site policy\n",[202,530,531],{"class":204,"line":228},[202,532,384],{"class":211},[176,534,535],{},"Available values:",[429,537,538,544,550],{},[432,539,540,543],{},[435,541,542],{},"'Strict'",": Cookie never sent with cross-site requests (most secure)",[432,545,546,549],{},[435,547,548],{},"'Lax'",": Cookie sent with top-level navigations (balanced security)",[432,551,552,555],{},[435,553,554],{},"'None'",": Cookie sent with all cross-site requests (requires secure: true)",[390,557,558],{"id":558},"priority",[176,560,561],{},"Defines the cookie's priority in the browser.",[192,563,565],{"className":194,"code":564,"language":196,"meta":197,"style":197},"options: {\n  priority: 'high'  \u002F\u002F High priority cookie\n}\n",[199,566,567,575,591],{"__ignoreMap":197},[202,568,569,571,573],{"class":204,"line":205},[202,570,406],{"class":208},[202,572,212],{"class":211},[202,574,215],{"class":211},[202,576,577,580,582,584,586,588],{"class":204,"line":218},[202,578,579],{"class":208},"  priority",[202,581,212],{"class":211},[202,583,236],{"class":211},[202,585,312],{"class":239},[202,587,243],{"class":211},[202,589,590],{"class":349},"  \u002F\u002F High priority cookie\n",[202,592,593],{"class":204,"line":228},[202,594,384],{"class":211},[176,596,535],{},[429,598,599,605,611],{},[432,600,601,604],{},[435,602,603],{},"'low'",": Low priority",[432,606,607,610],{},[435,608,609],{},"'medium'",": Medium priority",[432,612,613,616],{},[435,614,615],{},"'high'",": High priority (recommended for auth cookies)",[390,618,620],{"id":619},"maxage","maxAge",[176,622,623],{},"Cookie lifespan in seconds.",[192,625,627],{"className":194,"code":626,"language":196,"meta":197,"style":197},"options: {\n  maxAge: 60 * 60 * 24 * 7  \u002F\u002F 7 days in seconds\n}\n",[199,628,629,637,661],{"__ignoreMap":197},[202,630,631,633,635],{"class":204,"line":205},[202,632,406],{"class":208},[202,634,212],{"class":211},[202,636,215],{"class":211},[202,638,639,642,644,646,648,650,652,654,656,658],{"class":204,"line":218},[202,640,641],{"class":208},"  maxAge",[202,643,212],{"class":211},[202,645,328],{"class":327},[202,647,331],{"class":211},[202,649,328],{"class":327},[202,651,331],{"class":211},[202,653,338],{"class":327},[202,655,331],{"class":211},[202,657,343],{"class":327},[202,659,660],{"class":349},"  \u002F\u002F 7 days in seconds\n",[202,662,663],{"class":204,"line":228},[202,664,384],{"class":211},[390,666,667],{"id":667},"domain",[176,669,670],{},"The domain for which the cookie is valid.",[192,672,674],{"className":194,"code":673,"language":196,"meta":197,"style":197},"options: {\n  domain: '.example.com'  \u002F\u002F Valid for all subdomains\n}\n",[199,675,676,684,700],{"__ignoreMap":197},[202,677,678,680,682],{"class":204,"line":205},[202,679,406],{"class":208},[202,681,212],{"class":211},[202,683,215],{"class":211},[202,685,686,689,691,693,695,697],{"class":204,"line":218},[202,687,688],{"class":208},"  domain",[202,690,212],{"class":211},[202,692,236],{"class":211},[202,694,363],{"class":239},[202,696,243],{"class":211},[202,698,699],{"class":349},"  \u002F\u002F Valid for all subdomains\n",[202,701,702],{"class":204,"line":228},[202,703,384],{"class":211},[390,705,706],{"id":706},"expires",[176,708,709],{},"Expiration date of the cookie.",[192,711,713],{"className":194,"code":712,"language":196,"meta":197,"style":197},"options: {\n  expires: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)  \u002F\u002F 7 days from now\n}\n",[199,714,715,723,782],{"__ignoreMap":197},[202,716,717,719,721],{"class":204,"line":205},[202,718,406],{"class":208},[202,720,212],{"class":211},[202,722,215],{"class":211},[202,724,725,728,730,733,737,741,745,748,751,754,757,759,761,763,765,767,769,771,773,776,779],{"class":204,"line":218},[202,726,727],{"class":208},"  expires",[202,729,212],{"class":211},[202,731,732],{"class":211}," new",[202,734,736],{"class":735},"s2Zo4"," Date",[202,738,740],{"class":739},"swJcz","(",[202,742,744],{"class":743},"sTEyZ","Date",[202,746,747],{"class":211},".",[202,749,750],{"class":735},"now",[202,752,753],{"class":739},"() ",[202,755,756],{"class":211},"+",[202,758,343],{"class":327},[202,760,331],{"class":211},[202,762,338],{"class":327},[202,764,331],{"class":211},[202,766,328],{"class":327},[202,768,331],{"class":211},[202,770,328],{"class":327},[202,772,331],{"class":211},[202,774,775],{"class":327}," 1000",[202,777,778],{"class":739},")  ",[202,780,781],{"class":349},"\u002F\u002F 7 days from now\n",[202,783,784],{"class":204,"line":228},[202,785,384],{"class":211},[180,787,789],{"id":788},"cookie-prefixes","Cookie Prefixes",[176,791,792],{},"The prefix determines the cookie name and security level.",[192,794,796],{"className":194,"code":795,"language":196,"meta":197,"style":197},"cookie: {\n  prefix: 'auth.'  \u002F\u002F Development prefix\n}\n",[199,797,798,807,823],{"__ignoreMap":197},[202,799,800,803,805],{"class":204,"line":205},[202,801,802],{"class":208},"cookie",[202,804,212],{"class":211},[202,806,215],{"class":211},[202,808,809,812,814,816,818,820],{"class":204,"line":218},[202,810,811],{"class":208},"  prefix",[202,813,212],{"class":211},[202,815,236],{"class":211},[202,817,240],{"class":239},[202,819,243],{"class":211},[202,821,822],{"class":349},"  \u002F\u002F Development prefix\n",[202,824,825],{"class":204,"line":228},[202,826,384],{"class":211},[390,828,830],{"id":829},"available-prefixes","Available Prefixes",[429,832,833,839,845],{},[432,834,835,838],{},[435,836,837],{},"'auth.'",": Development prefix (default in dev mode)",[432,840,841,844],{},[435,842,843],{},"'__Secure-'",": Production prefix with security requirements",[432,846,847,850],{},[435,848,849],{},"'__Host-'",": Strict production prefix with additional restrictions",[390,852,854],{"id":853},"prefix-security-requirements","Prefix Security Requirements",[856,857,859,862],"h4",{"id":858},"__secure-prefix",[199,860,861],{},"__Secure-"," Prefix",[429,864,865,871,874],{},[432,866,867,868],{},"Requires ",[199,869,870],{},"secure: true",[432,872,873],{},"Requires HTTPS",[432,875,876],{},"Cannot be set over HTTP",[856,878,880,862],{"id":879},"__host-prefix",[199,881,882],{},"__Host-",[429,884,885,889,891,897,900],{},[432,886,867,887],{},[199,888,870],{},[432,890,873],{},[432,892,893,894,896],{},"Cannot set ",[199,895,667],{}," attribute",[432,898,899],{},"Must use exact host (no subdomains)",[432,901,867,902],{},[199,903,904],{},"path: '\u002F'",[192,906,908],{"className":194,"code":907,"language":196,"meta":197,"style":197},"\u002F\u002F Example __Host- prefix configuration\ncookie: {\n  prefix: '__Host-',\n  options: {\n    httpOnly: true,\n    secure: true,\n    sameSite: 'Strict',\n    priority: 'high',\n    path: '\u002F',  \u002F\u002F Required for __Host- prefix\n    maxAge: 60 * 60 * 24 * 7  \u002F\u002F 7 days\n  }\n}\n",[199,909,910,915,923,937,946,957,968,983,998,1017,1040,1044],{"__ignoreMap":197},[202,911,912],{"class":204,"line":205},[202,913,914],{"class":349},"\u002F\u002F Example __Host- prefix configuration\n",[202,916,917,919,921],{"class":204,"line":218},[202,918,802],{"class":208},[202,920,212],{"class":211},[202,922,215],{"class":211},[202,924,925,927,929,931,933,935],{"class":204,"line":228},[202,926,811],{"class":208},[202,928,212],{"class":211},[202,930,236],{"class":211},[202,932,882],{"class":239},[202,934,243],{"class":211},[202,936,246],{"class":211},[202,938,939,942,944],{"class":204,"line":249},[202,940,941],{"class":208},"  options",[202,943,212],{"class":211},[202,945,215],{"class":211},[202,947,948,951,953,955],{"class":204,"line":259},[202,949,950],{"class":208},"    httpOnly",[202,952,212],{"class":211},[202,954,420],{"class":267},[202,956,246],{"class":211},[202,958,959,962,964,966],{"class":204,"line":273},[202,960,961],{"class":208},"    secure",[202,963,212],{"class":211},[202,965,420],{"class":267},[202,967,246],{"class":211},[202,969,970,973,975,977,979,981],{"class":204,"line":285},[202,971,972],{"class":208},"    sameSite",[202,974,212],{"class":211},[202,976,236],{"class":211},[202,978,523],{"class":239},[202,980,243],{"class":211},[202,982,246],{"class":211},[202,984,985,988,990,992,994,996],{"class":204,"line":302},[202,986,987],{"class":208},"    priority",[202,989,212],{"class":211},[202,991,236],{"class":211},[202,993,312],{"class":239},[202,995,243],{"class":211},[202,997,246],{"class":211},[202,999,1000,1003,1005,1007,1010,1012,1014],{"class":204,"line":319},[202,1001,1002],{"class":208},"    path",[202,1004,212],{"class":211},[202,1006,236],{"class":211},[202,1008,1009],{"class":239},"\u002F",[202,1011,243],{"class":211},[202,1013,346],{"class":211},[202,1015,1016],{"class":349},"  \u002F\u002F Required for __Host- prefix\n",[202,1018,1019,1022,1024,1026,1028,1030,1032,1034,1036,1038],{"class":204,"line":353},[202,1020,1021],{"class":208},"    maxAge",[202,1023,212],{"class":211},[202,1025,328],{"class":327},[202,1027,331],{"class":211},[202,1029,328],{"class":327},[202,1031,331],{"class":211},[202,1033,338],{"class":327},[202,1035,331],{"class":211},[202,1037,343],{"class":327},[202,1039,350],{"class":349},[202,1041,1042],{"class":204,"line":369},[202,1043,378],{"class":211},[202,1045,1046],{"class":204,"line":375},[202,1047,384],{"class":211},[180,1049,1051],{"id":1050},"environment-specific-configuration","Environment-Specific Configuration",[390,1053,1055],{"id":1054},"development-configuration","Development Configuration",[192,1057,1059],{"className":194,"code":1058,"language":196,"meta":197,"style":197},"\u002F\u002F nuxt.config.ts (development)\nexport default defineNuxtConfig({\n  auth: {\n    cookie: {\n      prefix: 'auth.',\n      options: {\n        httpOnly: false,\n        secure: false,\n        sameSite: 'Lax',\n        priority: 'high'\n      }\n    }\n  }\n})\n",[199,1060,1061,1066,1083,1092,1101,1116,1125,1136,1147,1162,1175,1180,1184,1188],{"__ignoreMap":197},[202,1062,1063],{"class":204,"line":205},[202,1064,1065],{"class":349},"\u002F\u002F nuxt.config.ts (development)\n",[202,1067,1068,1072,1075,1078,1080],{"class":204,"line":218},[202,1069,1071],{"class":1070},"s7zQu","export",[202,1073,1074],{"class":1070}," default",[202,1076,1077],{"class":735}," defineNuxtConfig",[202,1079,740],{"class":743},[202,1081,1082],{"class":211},"{\n",[202,1084,1085,1088,1090],{"class":204,"line":228},[202,1086,1087],{"class":739},"  auth",[202,1089,212],{"class":211},[202,1091,215],{"class":211},[202,1093,1094,1097,1099],{"class":204,"line":249},[202,1095,1096],{"class":739},"    cookie",[202,1098,212],{"class":211},[202,1100,215],{"class":211},[202,1102,1103,1106,1108,1110,1112,1114],{"class":204,"line":259},[202,1104,1105],{"class":739},"      prefix",[202,1107,212],{"class":211},[202,1109,236],{"class":211},[202,1111,240],{"class":239},[202,1113,243],{"class":211},[202,1115,246],{"class":211},[202,1117,1118,1121,1123],{"class":204,"line":273},[202,1119,1120],{"class":739},"      options",[202,1122,212],{"class":211},[202,1124,215],{"class":211},[202,1126,1127,1130,1132,1134],{"class":204,"line":285},[202,1128,1129],{"class":739},"        httpOnly",[202,1131,212],{"class":211},[202,1133,268],{"class":267},[202,1135,246],{"class":211},[202,1137,1138,1141,1143,1145],{"class":204,"line":302},[202,1139,1140],{"class":739},"        secure",[202,1142,212],{"class":211},[202,1144,268],{"class":267},[202,1146,246],{"class":211},[202,1148,1149,1152,1154,1156,1158,1160],{"class":204,"line":319},[202,1150,1151],{"class":739},"        sameSite",[202,1153,212],{"class":211},[202,1155,236],{"class":211},[202,1157,295],{"class":239},[202,1159,243],{"class":211},[202,1161,246],{"class":211},[202,1163,1164,1167,1169,1171,1173],{"class":204,"line":353},[202,1165,1166],{"class":739},"        priority",[202,1168,212],{"class":211},[202,1170,236],{"class":211},[202,1172,312],{"class":239},[202,1174,366],{"class":211},[202,1176,1177],{"class":204,"line":369},[202,1178,1179],{"class":211},"      }\n",[202,1181,1182],{"class":204,"line":375},[202,1183,372],{"class":211},[202,1185,1186],{"class":204,"line":381},[202,1187,378],{"class":211},[202,1189,1191,1194],{"class":204,"line":1190},14,[202,1192,1193],{"class":211},"}",[202,1195,1196],{"class":743},")\n",[390,1198,1200],{"id":1199},"production-configuration","Production Configuration",[192,1202,1204],{"className":194,"code":1203,"language":196,"meta":197,"style":197},"\u002F\u002F nuxt.config.ts (production)\nexport default defineNuxtConfig({\n  auth: {\n    cookie: {\n      prefix: '__Secure-',\n      options: {\n        httpOnly: true,\n        secure: true,\n        sameSite: 'Strict',\n        priority: 'high',\n        maxAge: 60 * 60 * 24 * 7  \u002F\u002F 7 days\n      }\n    }\n  }\n})\n",[199,1205,1206,1211,1223,1231,1239,1253,1261,1271,1281,1295,1309,1332,1336,1340,1344],{"__ignoreMap":197},[202,1207,1208],{"class":204,"line":205},[202,1209,1210],{"class":349},"\u002F\u002F nuxt.config.ts (production)\n",[202,1212,1213,1215,1217,1219,1221],{"class":204,"line":218},[202,1214,1071],{"class":1070},[202,1216,1074],{"class":1070},[202,1218,1077],{"class":735},[202,1220,740],{"class":743},[202,1222,1082],{"class":211},[202,1224,1225,1227,1229],{"class":204,"line":228},[202,1226,1087],{"class":739},[202,1228,212],{"class":211},[202,1230,215],{"class":211},[202,1232,1233,1235,1237],{"class":204,"line":249},[202,1234,1096],{"class":739},[202,1236,212],{"class":211},[202,1238,215],{"class":211},[202,1240,1241,1243,1245,1247,1249,1251],{"class":204,"line":259},[202,1242,1105],{"class":739},[202,1244,212],{"class":211},[202,1246,236],{"class":211},[202,1248,861],{"class":239},[202,1250,243],{"class":211},[202,1252,246],{"class":211},[202,1254,1255,1257,1259],{"class":204,"line":273},[202,1256,1120],{"class":739},[202,1258,212],{"class":211},[202,1260,215],{"class":211},[202,1262,1263,1265,1267,1269],{"class":204,"line":285},[202,1264,1129],{"class":739},[202,1266,212],{"class":211},[202,1268,420],{"class":267},[202,1270,246],{"class":211},[202,1272,1273,1275,1277,1279],{"class":204,"line":302},[202,1274,1140],{"class":739},[202,1276,212],{"class":211},[202,1278,420],{"class":267},[202,1280,246],{"class":211},[202,1282,1283,1285,1287,1289,1291,1293],{"class":204,"line":319},[202,1284,1151],{"class":739},[202,1286,212],{"class":211},[202,1288,236],{"class":211},[202,1290,523],{"class":239},[202,1292,243],{"class":211},[202,1294,246],{"class":211},[202,1296,1297,1299,1301,1303,1305,1307],{"class":204,"line":353},[202,1298,1166],{"class":739},[202,1300,212],{"class":211},[202,1302,236],{"class":211},[202,1304,312],{"class":239},[202,1306,243],{"class":211},[202,1308,246],{"class":211},[202,1310,1311,1314,1316,1318,1320,1322,1324,1326,1328,1330],{"class":204,"line":369},[202,1312,1313],{"class":739},"        maxAge",[202,1315,212],{"class":211},[202,1317,328],{"class":327},[202,1319,331],{"class":211},[202,1321,328],{"class":327},[202,1323,331],{"class":211},[202,1325,338],{"class":327},[202,1327,331],{"class":211},[202,1329,343],{"class":327},[202,1331,350],{"class":349},[202,1333,1334],{"class":204,"line":375},[202,1335,1179],{"class":211},[202,1337,1338],{"class":204,"line":381},[202,1339,372],{"class":211},[202,1341,1342],{"class":204,"line":1190},[202,1343,378],{"class":211},[202,1345,1347,1349],{"class":204,"line":1346},15,[202,1348,1193],{"class":211},[202,1350,1196],{"class":743},[390,1352,1354],{"id":1353},"dynamic-configuration","Dynamic Configuration",[192,1356,1358],{"className":194,"code":1357,"language":196,"meta":197,"style":197},"export default defineNuxtConfig({\n  auth: {\n    cookie: {\n      prefix: process.env.NODE_ENV === 'production' ? '__Secure-' : 'auth.',\n      options: {\n        httpOnly: process.env.NODE_ENV === 'production',\n        secure: process.env.NODE_ENV === 'production',\n        sameSite: process.env.NODE_ENV === 'production' ? 'Strict' : 'Lax',\n        priority: 'high'\n      }\n    }\n  }\n})\n",[199,1359,1360,1372,1380,1388,1437,1445,1471,1497,1539,1551,1555,1559,1563],{"__ignoreMap":197},[202,1361,1362,1364,1366,1368,1370],{"class":204,"line":205},[202,1363,1071],{"class":1070},[202,1365,1074],{"class":1070},[202,1367,1077],{"class":735},[202,1369,740],{"class":743},[202,1371,1082],{"class":211},[202,1373,1374,1376,1378],{"class":204,"line":218},[202,1375,1087],{"class":739},[202,1377,212],{"class":211},[202,1379,215],{"class":211},[202,1381,1382,1384,1386],{"class":204,"line":228},[202,1383,1096],{"class":739},[202,1385,212],{"class":211},[202,1387,215],{"class":211},[202,1389,1390,1392,1394,1397,1399,1402,1404,1407,1410,1412,1415,1417,1420,1422,1424,1426,1429,1431,1433,1435],{"class":204,"line":249},[202,1391,1105],{"class":739},[202,1393,212],{"class":211},[202,1395,1396],{"class":743}," process",[202,1398,747],{"class":211},[202,1400,1401],{"class":743},"env",[202,1403,747],{"class":211},[202,1405,1406],{"class":743},"NODE_ENV ",[202,1408,1409],{"class":211},"===",[202,1411,236],{"class":211},[202,1413,1414],{"class":239},"production",[202,1416,243],{"class":211},[202,1418,1419],{"class":211}," ?",[202,1421,236],{"class":211},[202,1423,861],{"class":239},[202,1425,243],{"class":211},[202,1427,1428],{"class":211}," :",[202,1430,236],{"class":211},[202,1432,240],{"class":239},[202,1434,243],{"class":211},[202,1436,246],{"class":211},[202,1438,1439,1441,1443],{"class":204,"line":259},[202,1440,1120],{"class":739},[202,1442,212],{"class":211},[202,1444,215],{"class":211},[202,1446,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467,1469],{"class":204,"line":273},[202,1448,1129],{"class":739},[202,1450,212],{"class":211},[202,1452,1396],{"class":743},[202,1454,747],{"class":211},[202,1456,1401],{"class":743},[202,1458,747],{"class":211},[202,1460,1406],{"class":743},[202,1462,1409],{"class":211},[202,1464,236],{"class":211},[202,1466,1414],{"class":239},[202,1468,243],{"class":211},[202,1470,246],{"class":211},[202,1472,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495],{"class":204,"line":285},[202,1474,1140],{"class":739},[202,1476,212],{"class":211},[202,1478,1396],{"class":743},[202,1480,747],{"class":211},[202,1482,1401],{"class":743},[202,1484,747],{"class":211},[202,1486,1406],{"class":743},[202,1488,1409],{"class":211},[202,1490,236],{"class":211},[202,1492,1414],{"class":239},[202,1494,243],{"class":211},[202,1496,246],{"class":211},[202,1498,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537],{"class":204,"line":302},[202,1500,1151],{"class":739},[202,1502,212],{"class":211},[202,1504,1396],{"class":743},[202,1506,747],{"class":211},[202,1508,1401],{"class":743},[202,1510,747],{"class":211},[202,1512,1406],{"class":743},[202,1514,1409],{"class":211},[202,1516,236],{"class":211},[202,1518,1414],{"class":239},[202,1520,243],{"class":211},[202,1522,1419],{"class":211},[202,1524,236],{"class":211},[202,1526,523],{"class":239},[202,1528,243],{"class":211},[202,1530,1428],{"class":211},[202,1532,236],{"class":211},[202,1534,295],{"class":239},[202,1536,243],{"class":211},[202,1538,246],{"class":211},[202,1540,1541,1543,1545,1547,1549],{"class":204,"line":319},[202,1542,1166],{"class":739},[202,1544,212],{"class":211},[202,1546,236],{"class":211},[202,1548,312],{"class":239},[202,1550,366],{"class":211},[202,1552,1553],{"class":204,"line":353},[202,1554,1179],{"class":211},[202,1556,1557],{"class":204,"line":369},[202,1558,372],{"class":211},[202,1560,1561],{"class":204,"line":375},[202,1562,378],{"class":211},[202,1564,1565,1567],{"class":204,"line":381},[202,1566,1193],{"class":211},[202,1568,1196],{"class":743},[180,1570,1572],{"id":1571},"automatic-configuration","Automatic Configuration",[176,1574,1575],{},"Nuxt Umbu automatically adjusts cookie settings in development mode:",[192,1577,1579],{"className":194,"code":1578,"language":196,"meta":197,"style":197},"\u002F\u002F Automatic development overrides\nif (isDev) {\n  options.cookie.prefix = 'auth.';\n  options.cookie.options.secure = false;\n}\n",[199,1580,1581,1586,1596,1621,1643],{"__ignoreMap":197},[202,1582,1583],{"class":204,"line":205},[202,1584,1585],{"class":349},"\u002F\u002F Automatic development overrides\n",[202,1587,1588,1591,1594],{"class":204,"line":218},[202,1589,1590],{"class":1070},"if",[202,1592,1593],{"class":743}," (isDev) ",[202,1595,1082],{"class":211},[202,1597,1598,1600,1602,1604,1606,1609,1612,1614,1616,1618],{"class":204,"line":228},[202,1599,941],{"class":743},[202,1601,747],{"class":211},[202,1603,802],{"class":743},[202,1605,747],{"class":211},[202,1607,1608],{"class":743},"prefix",[202,1610,1611],{"class":211}," =",[202,1613,236],{"class":211},[202,1615,240],{"class":239},[202,1617,243],{"class":211},[202,1619,1620],{"class":211},";\n",[202,1622,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641],{"class":204,"line":249},[202,1624,941],{"class":743},[202,1626,747],{"class":211},[202,1628,802],{"class":743},[202,1630,747],{"class":211},[202,1632,406],{"class":743},[202,1634,747],{"class":211},[202,1636,447],{"class":743},[202,1638,1611],{"class":211},[202,1640,268],{"class":267},[202,1642,1620],{"class":211},[202,1644,1645],{"class":204,"line":259},[202,1646,384],{"class":211},[176,1648,1649],{},"This ensures:",[429,1651,1652,1658,1661],{},[432,1653,1654,1655,1657],{},"Development uses ",[199,1656,240],{}," prefix",[432,1659,1660],{},"Development allows HTTP cookies",[432,1662,1663],{},"Development has relaxed security for debugging",[180,1665,1667],{"id":1666},"cookie-names","Cookie Names",[176,1669,1670],{},"Cookies are named using the prefix and strategy name:",[192,1672,1674],{"className":194,"code":1673,"language":196,"meta":197,"style":197},"\u002F\u002F For strategy named 'password'\n\u002F\u002F With prefix 'auth.'\n\u002F\u002F Cookie name: 'auth.password'\n",[199,1675,1676,1681,1686],{"__ignoreMap":197},[202,1677,1678],{"class":204,"line":205},[202,1679,1680],{"class":349},"\u002F\u002F For strategy named 'password'\n",[202,1682,1683],{"class":204,"line":218},[202,1684,1685],{"class":349},"\u002F\u002F With prefix 'auth.'\n",[202,1687,1688],{"class":204,"line":228},[202,1689,1690],{"class":349},"\u002F\u002F Cookie name: 'auth.password'\n",[390,1692,1694],{"id":1693},"multiple-strategies","Multiple Strategies",[176,1696,1697],{},"Each strategy gets its own cookie:",[192,1699,1701],{"className":194,"code":1700,"language":196,"meta":197,"style":197},"strategies: {\n  password: { \u002F* ... *\u002F },    \u002F\u002F Cookie: auth.password\n  social: { \u002F* ... *\u002F }       \u002F\u002F Cookie: auth.social\n}\n",[199,1702,1703,1712,1731,1748],{"__ignoreMap":197},[202,1704,1705,1708,1710],{"class":204,"line":205},[202,1706,1707],{"class":208},"strategies",[202,1709,212],{"class":211},[202,1711,215],{"class":211},[202,1713,1714,1717,1719,1722,1725,1728],{"class":204,"line":218},[202,1715,1716],{"class":208},"  password",[202,1718,212],{"class":211},[202,1720,1721],{"class":211}," {",[202,1723,1724],{"class":349}," \u002F* ... *\u002F",[202,1726,1727],{"class":211}," },",[202,1729,1730],{"class":349},"    \u002F\u002F Cookie: auth.password\n",[202,1732,1733,1736,1738,1740,1742,1745],{"class":204,"line":228},[202,1734,1735],{"class":208},"  social",[202,1737,212],{"class":211},[202,1739,1721],{"class":211},[202,1741,1724],{"class":349},[202,1743,1744],{"class":211}," }",[202,1746,1747],{"class":349},"       \u002F\u002F Cookie: auth.social\n",[202,1749,1750],{"class":204,"line":249},[202,1751,384],{"class":211},[180,1753,1755],{"id":1754},"security-best-practices","Security Best Practices",[390,1757,1759],{"id":1758},"production-settings","Production Settings",[176,1761,1762],{},"Always use these settings in production:",[192,1764,1766],{"className":194,"code":1765,"language":196,"meta":197,"style":197},"cookie: {\n  prefix: '__Secure-',\n  options: {\n    httpOnly: true,      \u002F\u002F Prevent XSS attacks\n    secure: true,       \u002F\u002F Require HTTPS\n    sameSite: 'Strict', \u002F\u002F Prevent CSRF attacks\n    priority: 'high'    \u002F\u002F Ensure cookie persistence\n  }\n}\n",[199,1767,1768,1776,1790,1798,1811,1824,1841,1856,1860],{"__ignoreMap":197},[202,1769,1770,1772,1774],{"class":204,"line":205},[202,1771,802],{"class":208},[202,1773,212],{"class":211},[202,1775,215],{"class":211},[202,1777,1778,1780,1782,1784,1786,1788],{"class":204,"line":218},[202,1779,811],{"class":208},[202,1781,212],{"class":211},[202,1783,236],{"class":211},[202,1785,861],{"class":239},[202,1787,243],{"class":211},[202,1789,246],{"class":211},[202,1791,1792,1794,1796],{"class":204,"line":228},[202,1793,941],{"class":208},[202,1795,212],{"class":211},[202,1797,215],{"class":211},[202,1799,1800,1802,1804,1806,1808],{"class":204,"line":249},[202,1801,950],{"class":208},[202,1803,212],{"class":211},[202,1805,420],{"class":267},[202,1807,346],{"class":211},[202,1809,1810],{"class":349},"      \u002F\u002F Prevent XSS attacks\n",[202,1812,1813,1815,1817,1819,1821],{"class":204,"line":259},[202,1814,961],{"class":208},[202,1816,212],{"class":211},[202,1818,420],{"class":267},[202,1820,346],{"class":211},[202,1822,1823],{"class":349},"       \u002F\u002F Require HTTPS\n",[202,1825,1826,1828,1830,1832,1834,1836,1838],{"class":204,"line":273},[202,1827,972],{"class":208},[202,1829,212],{"class":211},[202,1831,236],{"class":211},[202,1833,523],{"class":239},[202,1835,243],{"class":211},[202,1837,346],{"class":211},[202,1839,1840],{"class":349}," \u002F\u002F Prevent CSRF attacks\n",[202,1842,1843,1845,1847,1849,1851,1853],{"class":204,"line":285},[202,1844,987],{"class":208},[202,1846,212],{"class":211},[202,1848,236],{"class":211},[202,1850,312],{"class":239},[202,1852,243],{"class":211},[202,1854,1855],{"class":349},"    \u002F\u002F Ensure cookie persistence\n",[202,1857,1858],{"class":204,"line":302},[202,1859,378],{"class":211},[202,1861,1862],{"class":204,"line":319},[202,1863,384],{"class":211},[390,1865,1867],{"id":1866},"session-duration","Session Duration",[176,1869,1870],{},"Set appropriate session duration based on security requirements:",[192,1872,1874],{"className":194,"code":1873,"language":196,"meta":197,"style":197},"options: {\n  maxAge: 60 * 60 * 24 * 1   \u002F\u002F 1 day (high security)\n  \u002F\u002F maxAge: 60 * 60 * 24 * 7  \u002F\u002F 7 days (balanced)\n  \u002F\u002F maxAge: 60 * 60 * 24 * 30 \u002F\u002F 30 days (convenience)\n}\n",[199,1875,1876,1884,1908,1916,1924],{"__ignoreMap":197},[202,1877,1878,1880,1882],{"class":204,"line":205},[202,1879,406],{"class":208},[202,1881,212],{"class":211},[202,1883,215],{"class":211},[202,1885,1886,1888,1890,1892,1894,1896,1898,1900,1902,1905],{"class":204,"line":218},[202,1887,641],{"class":208},[202,1889,212],{"class":211},[202,1891,328],{"class":327},[202,1893,331],{"class":211},[202,1895,328],{"class":327},[202,1897,331],{"class":211},[202,1899,338],{"class":327},[202,1901,331],{"class":211},[202,1903,1904],{"class":327}," 1",[202,1906,1907],{"class":349},"   \u002F\u002F 1 day (high security)\n",[202,1909,1910,1913],{"class":204,"line":228},[202,1911,1912],{"class":349},"  \u002F\u002F maxAge: 60 * 60 * 24 * 7",[202,1914,1915],{"class":349},"  \u002F\u002F 7 days (balanced)\n",[202,1917,1918,1921],{"class":204,"line":249},[202,1919,1920],{"class":349},"  \u002F\u002F maxAge: 60 * 60 * 24 * 30",[202,1922,1923],{"class":349}," \u002F\u002F 30 days (convenience)\n",[202,1925,1926],{"class":204,"line":259},[202,1927,384],{"class":211},[390,1929,1931],{"id":1930},"domain-configuration","Domain Configuration",[176,1933,1934],{},"Use domain configuration carefully:",[192,1936,1938],{"className":194,"code":1937,"language":196,"meta":197,"style":197},"options: {\n  \u002F\u002F For single domain\n  domain: undefined  \u002F\u002F Current domain only\n\n  \u002F\u002F For subdomains\n  domain: '.example.com'  \u002F\u002F All subdomains\n\n  \u002F\u002F Avoid overly broad domains\n  \u002F\u002F domain: '.com'  \u002F\u002F BAD: Too broad\n}\n",[199,1939,1940,1948,1953,1965,1971,1976,1991,1995,2000,2008],{"__ignoreMap":197},[202,1941,1942,1944,1946],{"class":204,"line":205},[202,1943,406],{"class":208},[202,1945,212],{"class":211},[202,1947,215],{"class":211},[202,1949,1950],{"class":204,"line":218},[202,1951,1952],{"class":349},"  \u002F\u002F For single domain\n",[202,1954,1955,1957,1959,1962],{"class":204,"line":228},[202,1956,688],{"class":208},[202,1958,212],{"class":211},[202,1960,1961],{"class":211}," undefined",[202,1963,1964],{"class":349},"  \u002F\u002F Current domain only\n",[202,1966,1967],{"class":204,"line":249},[202,1968,1970],{"emptyLinePlaceholder":1969},true,"\n",[202,1972,1973],{"class":204,"line":259},[202,1974,1975],{"class":349},"  \u002F\u002F For subdomains\n",[202,1977,1978,1980,1982,1984,1986,1988],{"class":204,"line":273},[202,1979,688],{"class":208},[202,1981,212],{"class":211},[202,1983,236],{"class":211},[202,1985,363],{"class":239},[202,1987,243],{"class":211},[202,1989,1990],{"class":349},"  \u002F\u002F All subdomains\n",[202,1992,1993],{"class":204,"line":285},[202,1994,1970],{"emptyLinePlaceholder":1969},[202,1996,1997],{"class":204,"line":302},[202,1998,1999],{"class":349},"  \u002F\u002F Avoid overly broad domains\n",[202,2001,2002,2005],{"class":204,"line":319},[202,2003,2004],{"class":349},"  \u002F\u002F domain: '.com'",[202,2006,2007],{"class":349},"  \u002F\u002F BAD: Too broad\n",[202,2009,2010],{"class":204,"line":353},[202,2011,384],{"class":211},[180,2013,2015],{"id":2014},"common-issues","Common Issues",[390,2017,2019],{"id":2018},"cookies-not-setting","Cookies Not Setting",[429,2021,2022,2029,2034],{},[432,2023,2024,2025,2028],{},"Check that ",[199,2026,2027],{},"secure: false"," in development",[432,2030,2031,2032],{},"Verify HTTPS is enabled in production for ",[199,2033,870],{},[432,2035,2036],{},"Ensure cookie prefix is valid for your environment",[390,2038,2040],{"id":2039},"cookies-not-being-sent","Cookies Not Being Sent",[429,2042,2043,2049,2052],{},[432,2044,2045,2046,2048],{},"Verify ",[199,2047,495],{}," setting allows your request type",[432,2050,2051],{},"Check that domain matches the request domain",[432,2053,2054],{},"Ensure cookie hasn't expired",[390,2056,2058],{"id":2057},"cross-site-issues","Cross-Site Issues",[429,2060,2061,2071,2074],{},[432,2062,2063,2064,2067,2068,2070],{},"Use ",[199,2065,2066],{},"sameSite: 'None'"," with ",[199,2069,870],{}," for cross-site requests",[432,2072,2073],{},"Verify CORS configuration on your API",[432,2075,2076],{},"Check browser security settings",[180,2078,2080],{"id":2079},"testing-cookie-configuration","Testing Cookie Configuration",[390,2082,2084],{"id":2083},"browser-devtools","Browser DevTools",[2086,2087,2088,2091,2094],"ol",{},[432,2089,2090],{},"Open Application > Cookies in DevTools",[432,2092,2093],{},"Verify cookie attributes match your configuration",[432,2095,2096],{},"Test cookie behavior across different scenarios",[390,2098,2100],{"id":2099},"network-tab","Network Tab",[2086,2102,2103,2106,2109],{},[432,2104,2105],{},"Open Network tab in DevTools",[432,2107,2108],{},"Check Request Headers for cookie presence",[432,2110,2111],{},"Verify Set-Cookie headers in responses",[180,2113,2115],{"id":2114},"cookie-compliance","Cookie Compliance",[390,2117,2119],{"id":2118},"gdpr-considerations","GDPR Considerations",[429,2121,2122,2125,2128],{},[432,2123,2124],{},"Inform users about cookie usage",[432,2126,2127],{},"Provide cookie consent mechanisms",[432,2129,2130],{},"Allow users to manage cookie preferences",[390,2132,2134],{"id":2133},"security-headers","Security Headers",[176,2136,2137],{},"Combine with security headers:",[192,2139,2141],{"className":194,"code":2140,"language":196,"meta":197,"style":197},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  routeRules: {\n    '\u002F**': {\n      headers: {\n        'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',\n        'X-Content-Type-Options': 'nosniff',\n        'X-Frame-Options': 'DENY'\n      }\n    }\n  }\n})\n",[199,2142,2143,2148,2160,2169,2183,2192,2213,2233,2251,2255,2259,2263],{"__ignoreMap":197},[202,2144,2145],{"class":204,"line":205},[202,2146,2147],{"class":349},"\u002F\u002F nuxt.config.ts\n",[202,2149,2150,2152,2154,2156,2158],{"class":204,"line":218},[202,2151,1071],{"class":1070},[202,2153,1074],{"class":1070},[202,2155,1077],{"class":735},[202,2157,740],{"class":743},[202,2159,1082],{"class":211},[202,2161,2162,2165,2167],{"class":204,"line":228},[202,2163,2164],{"class":739},"  routeRules",[202,2166,212],{"class":211},[202,2168,215],{"class":211},[202,2170,2171,2174,2177,2179,2181],{"class":204,"line":249},[202,2172,2173],{"class":211},"    '",[202,2175,2176],{"class":739},"\u002F**",[202,2178,243],{"class":211},[202,2180,212],{"class":211},[202,2182,215],{"class":211},[202,2184,2185,2188,2190],{"class":204,"line":259},[202,2186,2187],{"class":739},"      headers",[202,2189,212],{"class":211},[202,2191,215],{"class":211},[202,2193,2194,2197,2200,2202,2204,2206,2209,2211],{"class":204,"line":273},[202,2195,2196],{"class":211},"        '",[202,2198,2199],{"class":739},"Strict-Transport-Security",[202,2201,243],{"class":211},[202,2203,212],{"class":211},[202,2205,236],{"class":211},[202,2207,2208],{"class":239},"max-age=31536000; includeSubDomains",[202,2210,243],{"class":211},[202,2212,246],{"class":211},[202,2214,2215,2217,2220,2222,2224,2226,2229,2231],{"class":204,"line":285},[202,2216,2196],{"class":211},[202,2218,2219],{"class":739},"X-Content-Type-Options",[202,2221,243],{"class":211},[202,2223,212],{"class":211},[202,2225,236],{"class":211},[202,2227,2228],{"class":239},"nosniff",[202,2230,243],{"class":211},[202,2232,246],{"class":211},[202,2234,2235,2237,2240,2242,2244,2246,2249],{"class":204,"line":302},[202,2236,2196],{"class":211},[202,2238,2239],{"class":739},"X-Frame-Options",[202,2241,243],{"class":211},[202,2243,212],{"class":211},[202,2245,236],{"class":211},[202,2247,2248],{"class":239},"DENY",[202,2250,366],{"class":211},[202,2252,2253],{"class":204,"line":319},[202,2254,1179],{"class":211},[202,2256,2257],{"class":204,"line":353},[202,2258,372],{"class":211},[202,2260,2261],{"class":204,"line":369},[202,2262,378],{"class":211},[202,2264,2265,2267],{"class":204,"line":375},[202,2266,1193],{"class":211},[202,2268,1196],{"class":743},[180,2270,2272],{"id":2271},"troubleshooting","Troubleshooting",[390,2274,2276],{"id":2275},"development-issues","Development Issues",[192,2278,2280],{"className":194,"code":2279,"language":196,"meta":197,"style":197},"\u002F\u002F If cookies don't work in development\ncookie: {\n  prefix: 'auth.',\n  options: {\n    secure: false,  \u002F\u002F Must be false for HTTP\n    httpOnly: false \u002F\u002F Set to false for debugging\n  }\n}\n",[199,2281,2282,2287,2295,2309,2317,2330,2341,2345],{"__ignoreMap":197},[202,2283,2284],{"class":204,"line":205},[202,2285,2286],{"class":349},"\u002F\u002F If cookies don't work in development\n",[202,2288,2289,2291,2293],{"class":204,"line":218},[202,2290,802],{"class":208},[202,2292,212],{"class":211},[202,2294,215],{"class":211},[202,2296,2297,2299,2301,2303,2305,2307],{"class":204,"line":228},[202,2298,811],{"class":208},[202,2300,212],{"class":211},[202,2302,236],{"class":211},[202,2304,240],{"class":239},[202,2306,243],{"class":211},[202,2308,246],{"class":211},[202,2310,2311,2313,2315],{"class":204,"line":249},[202,2312,941],{"class":208},[202,2314,212],{"class":211},[202,2316,215],{"class":211},[202,2318,2319,2321,2323,2325,2327],{"class":204,"line":259},[202,2320,961],{"class":208},[202,2322,212],{"class":211},[202,2324,268],{"class":267},[202,2326,346],{"class":211},[202,2328,2329],{"class":349},"  \u002F\u002F Must be false for HTTP\n",[202,2331,2332,2334,2336,2338],{"class":204,"line":273},[202,2333,950],{"class":208},[202,2335,212],{"class":211},[202,2337,268],{"class":267},[202,2339,2340],{"class":349}," \u002F\u002F Set to false for debugging\n",[202,2342,2343],{"class":204,"line":285},[202,2344,378],{"class":211},[202,2346,2347],{"class":204,"line":302},[202,2348,384],{"class":211},[390,2350,2352],{"id":2351},"production-issues","Production Issues",[192,2354,2356],{"className":194,"code":2355,"language":196,"meta":197,"style":197},"\u002F\u002F If cookies don't work in production\ncookie: {\n  prefix: '__Secure-',  \u002F\u002F Must use secure prefix\n  options: {\n    secure: true,       \u002F\u002F Must be true for HTTPS\n    httpOnly: true,     \u002F\u002F Recommended for security\n    sameSite: 'Strict'  \u002F\u002F Recommended for CSRF protection\n  }\n}\n",[199,2357,2358,2363,2371,2388,2396,2409,2422,2437,2441],{"__ignoreMap":197},[202,2359,2360],{"class":204,"line":205},[202,2361,2362],{"class":349},"\u002F\u002F If cookies don't work in production\n",[202,2364,2365,2367,2369],{"class":204,"line":218},[202,2366,802],{"class":208},[202,2368,212],{"class":211},[202,2370,215],{"class":211},[202,2372,2373,2375,2377,2379,2381,2383,2385],{"class":204,"line":228},[202,2374,811],{"class":208},[202,2376,212],{"class":211},[202,2378,236],{"class":211},[202,2380,861],{"class":239},[202,2382,243],{"class":211},[202,2384,346],{"class":211},[202,2386,2387],{"class":349},"  \u002F\u002F Must use secure prefix\n",[202,2389,2390,2392,2394],{"class":204,"line":249},[202,2391,941],{"class":208},[202,2393,212],{"class":211},[202,2395,215],{"class":211},[202,2397,2398,2400,2402,2404,2406],{"class":204,"line":259},[202,2399,961],{"class":208},[202,2401,212],{"class":211},[202,2403,420],{"class":267},[202,2405,346],{"class":211},[202,2407,2408],{"class":349},"       \u002F\u002F Must be true for HTTPS\n",[202,2410,2411,2413,2415,2417,2419],{"class":204,"line":273},[202,2412,950],{"class":208},[202,2414,212],{"class":211},[202,2416,420],{"class":267},[202,2418,346],{"class":211},[202,2420,2421],{"class":349},"     \u002F\u002F Recommended for security\n",[202,2423,2424,2426,2428,2430,2432,2434],{"class":204,"line":285},[202,2425,972],{"class":208},[202,2427,212],{"class":211},[202,2429,236],{"class":211},[202,2431,523],{"class":239},[202,2433,243],{"class":211},[202,2435,2436],{"class":349},"  \u002F\u002F Recommended for CSRF protection\n",[202,2438,2439],{"class":204,"line":302},[202,2440,378],{"class":211},[202,2442,2443],{"class":204,"line":319},[202,2444,384],{"class":211},[180,2446,2448],{"id":2447},"best-practices-summary","Best Practices Summary",[429,2450,2451,2456,2462,2467,2473,2479,2482,2485],{},[432,2452,2063,2453,2455],{},[199,2454,861],{}," prefix in production",[432,2457,2458,2459,2461],{},"Enable ",[199,2460,393],{}," to prevent XSS attacks",[432,2463,2458,2464,2466],{},[199,2465,447],{}," to require HTTPS",[432,2468,2063,2469,2472],{},[199,2470,2471],{},"sameSite: 'Strict'"," for CSRF protection",[432,2474,2475,2476,2478],{},"Set appropriate ",[199,2477,620],{}," for your security requirements",[432,2480,2481],{},"Test cookie behavior in both development and production",[432,2483,2484],{},"Monitor cookie-related security advisories",[432,2486,2487],{},"Keep cookie configuration in environment-specific files",[2489,2490,2491],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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}",{"title":197,"searchDepth":205,"depth":218,"links":2493},[2494,2495,2496,2505,2509,2514,2515,2518,2523,2528,2532,2536,2540],{"id":182,"depth":218,"text":183},{"id":189,"depth":218,"text":190},{"id":387,"depth":218,"text":388,"children":2497},[2498,2499,2500,2501,2502,2503,2504],{"id":392,"depth":228,"text":393},{"id":447,"depth":228,"text":447},{"id":494,"depth":228,"text":495},{"id":558,"depth":228,"text":558},{"id":619,"depth":228,"text":620},{"id":667,"depth":228,"text":667},{"id":706,"depth":228,"text":706},{"id":788,"depth":218,"text":789,"children":2506},[2507,2508],{"id":829,"depth":228,"text":830},{"id":853,"depth":228,"text":854},{"id":1050,"depth":218,"text":1051,"children":2510},[2511,2512,2513],{"id":1054,"depth":228,"text":1055},{"id":1199,"depth":228,"text":1200},{"id":1353,"depth":228,"text":1354},{"id":1571,"depth":218,"text":1572},{"id":1666,"depth":218,"text":1667,"children":2516},[2517],{"id":1693,"depth":228,"text":1694},{"id":1754,"depth":218,"text":1755,"children":2519},[2520,2521,2522],{"id":1758,"depth":228,"text":1759},{"id":1866,"depth":228,"text":1867},{"id":1930,"depth":228,"text":1931},{"id":2014,"depth":218,"text":2015,"children":2524},[2525,2526,2527],{"id":2018,"depth":228,"text":2019},{"id":2039,"depth":228,"text":2040},{"id":2057,"depth":228,"text":2058},{"id":2079,"depth":218,"text":2080,"children":2529},[2530,2531],{"id":2083,"depth":228,"text":2084},{"id":2099,"depth":228,"text":2100},{"id":2114,"depth":218,"text":2115,"children":2533},[2534,2535],{"id":2118,"depth":228,"text":2119},{"id":2133,"depth":228,"text":2134},{"id":2271,"depth":218,"text":2272,"children":2537},[2538,2539],{"id":2275,"depth":228,"text":2276},{"id":2351,"depth":228,"text":2352},{"id":2447,"depth":218,"text":2448},"Advanced cookie settings and security configuration","md",null,{},{"icon":32},{"title":149,"description":2541},"8RbX6BPTk7ZoMUwmZ_qu0aS_dys0EhgoR3VsiUvZdjs",[2549,2551],{"title":144,"path":145,"stem":146,"description":2550,"icon":147,"children":-1},"Advanced customization of Nuxt Umbu module options",{"title":153,"path":154,"stem":155,"description":2552,"icon":133,"children":-1},"TypeScript types and IDE support for Nuxt Umbu",1785126615627]