[{"data":1,"prerenderedAt":1698},["ShallowReactive",2],{"navigation":3,"/reference/sp-configuration":145,"/reference/sp-configuration-surround":1693},[4,28,49,88,101,127],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting Started","/getting-started","1.getting-started/1.index",[9,11,15,19,23],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Working with Agents","/getting-started/working-with-agents","1.getting-started/2.working-with-agents",{"title":16,"path":17,"stem":18},"Setup a Service Provider","/getting-started/setup-service-provider","1.getting-started/3.setup-service-provider",{"title":20,"path":21,"stem":22},"Setup an Identity Provider","/getting-started/setup-identity-provider","1.getting-started/4.setup-identity-provider",{"title":24,"path":25,"stem":26},"Developers","/getting-started/developers","1.getting-started/5.developers",false,{"title":29,"icon":27,"path":30,"stem":31,"children":32,"page":27},"Guides","/guides","2.guides",[33,37,41,45],{"title":34,"path":35,"stem":36},"How It Works","/guides/how-it-works","2.guides/1.how-it-works",{"title":38,"path":39,"stem":40},"Capabilities Guide","/guides/capabilities-guide","2.guides/2.capabilities-guide",{"title":42,"path":43,"stem":44},"End-to-End Tutorial","/guides/end-to-end-tutorial","2.guides/3.end-to-end-tutorial",{"title":46,"path":47,"stem":48},"Delegation Guide","/guides/delegation-guide","2.guides/4.delegation-guide",{"title":50,"path":51,"stem":52,"children":53,"icon":27},"Ecosystem","/ecosystem","3.ecosystem/1.index",[54,56,60,64,68,72,76,80,84],{"title":55,"path":51,"stem":52},"Overview",{"title":57,"path":58,"stem":59},"grapes CLI","/ecosystem/grapes","3.ecosystem/2.grapes",{"title":61,"path":62,"stem":63},"shapes CLI","/ecosystem/shapes","3.ecosystem/3.shapes",{"title":65,"path":66,"stem":67},"escapes","/ecosystem/escapes","3.ecosystem/4.escapes",{"title":69,"path":70,"stem":71},"OpenApe Proxy","/ecosystem/proxy","3.ecosystem/5.proxy",{"title":73,"path":74,"stem":75},"OpenApe Browser","/ecosystem/browser","3.ecosystem/6.browser",{"title":77,"path":78,"stem":79},"OpenApe Auth","/ecosystem/auth","3.ecosystem/7.auth",{"title":81,"path":82,"stem":83},"OpenApe Grants","/ecosystem/grants","3.ecosystem/8.grants",{"title":85,"path":86,"stem":87},"nuxt-auth-sp","/ecosystem/nuxt-auth-sp","3.ecosystem/9.nuxt-auth-sp",{"title":89,"icon":27,"path":90,"stem":91,"children":92,"page":27},"Security","/security","4.security",[93,97],{"title":94,"path":95,"stem":96},"Compliance","/security/compliance","4.security/1.compliance",{"title":98,"path":99,"stem":100},"Threat Model","/security/threat-model","4.security/2.threat-model",{"title":102,"path":103,"stem":104,"children":105,"icon":27},"Reference","/reference","5.reference/1.index",[106,107,111,115,119,123],{"title":102,"path":103,"stem":104},{"title":108,"path":109,"stem":110},"IdP Configuration","/reference/idp-configuration","5.reference/2.idp-configuration",{"title":112,"path":113,"stem":114},"SP Configuration","/reference/sp-configuration","5.reference/3.sp-configuration",{"title":116,"path":117,"stem":118},"API Endpoints","/reference/api-endpoints","5.reference/4.api-endpoints",{"title":120,"path":121,"stem":122},"escapes Config","/reference/escapes-config","5.reference/5.escapes-config",{"title":124,"path":125,"stem":126},"Proxy Config","/reference/proxy-config","5.reference/6.proxy-config",{"title":128,"path":129,"stem":130,"children":131,"icon":27},"Operations","/operations","6.operations/1.index",[132,133,137,141],{"title":128,"path":129,"stem":130},{"title":134,"path":135,"stem":136},"Deployment","/operations/deployment","6.operations/2.deployment",{"title":138,"path":139,"stem":140},"Troubleshooting","/operations/troubleshooting","6.operations/3.troubleshooting",{"title":142,"path":143,"stem":144},"Monitoring","/operations/monitoring","6.operations/4.monitoring",{"id":146,"title":112,"body":147,"description":1687,"extension":1688,"links":1689,"meta":1690,"navigation":1629,"path":113,"seo":1691,"stem":114,"__hash__":1692},"docs/5.reference/3.sp-configuration.md",{"type":148,"value":149,"toc":1672},"minimark",[150,154,163,168,179,323,328,504,508,515,635,639,646,695,785,792,795,891,897,990,995,1025,1043,1048,1147,1151,1161,1523,1527,1530,1612,1616,1668],[151,152,112],"h1",{"id":153},"sp-configuration",[155,156,157,158,162],"p",{},"All configuration options for the ",[159,160,161],"code",{},"@openape/nuxt-auth-sp"," Nuxt module.",[164,165,167],"h2",{"id":166},"module-options","Module Options",[155,169,170,171,174,175,178],{},"Configure in ",[159,172,173],{},"nuxt.config.ts"," under the ",[159,176,177],{},"openapeSp"," key:",[180,181,186],"pre",{"className":182,"code":183,"language":184,"meta":185,"style":185},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@openape/nuxt-auth-sp'],\n  openapeSp: {\n    clientId: 'app.example.com',\n    sessionSecret: process.env.SP_SESSION_SECRET,\n    fallbackIdpUrl: 'https://id.openape.at'\n  }\n})\n","typescript","",[159,187,188,212,239,250,268,292,308,314],{"__ignoreMap":185},[189,190,193,197,200,204,208],"span",{"class":191,"line":192},"line",1,[189,194,196],{"class":195},"s7zQu","export",[189,198,199],{"class":195}," default",[189,201,203],{"class":202},"s2Zo4"," defineNuxtConfig",[189,205,207],{"class":206},"sTEyZ","(",[189,209,211],{"class":210},"sMK4o","{\n",[189,213,215,219,222,225,228,231,233,236],{"class":191,"line":214},2,[189,216,218],{"class":217},"swJcz","  modules",[189,220,221],{"class":210},":",[189,223,224],{"class":206}," [",[189,226,227],{"class":210},"'",[189,229,161],{"class":230},"sfazB",[189,232,227],{"class":210},[189,234,235],{"class":206},"]",[189,237,238],{"class":210},",\n",[189,240,242,245,247],{"class":191,"line":241},3,[189,243,244],{"class":217},"  openapeSp",[189,246,221],{"class":210},[189,248,249],{"class":210}," {\n",[189,251,253,256,258,261,264,266],{"class":191,"line":252},4,[189,254,255],{"class":217},"    clientId",[189,257,221],{"class":210},[189,259,260],{"class":210}," '",[189,262,263],{"class":230},"app.example.com",[189,265,227],{"class":210},[189,267,238],{"class":210},[189,269,271,274,276,279,282,285,287,290],{"class":191,"line":270},5,[189,272,273],{"class":217},"    sessionSecret",[189,275,221],{"class":210},[189,277,278],{"class":206}," process",[189,280,281],{"class":210},".",[189,283,284],{"class":206},"env",[189,286,281],{"class":210},[189,288,289],{"class":206},"SP_SESSION_SECRET",[189,291,238],{"class":210},[189,293,295,298,300,302,305],{"class":191,"line":294},6,[189,296,297],{"class":217},"    fallbackIdpUrl",[189,299,221],{"class":210},[189,301,260],{"class":210},[189,303,304],{"class":230},"https://id.openape.at",[189,306,307],{"class":210},"'\n",[189,309,311],{"class":191,"line":310},7,[189,312,313],{"class":210},"  }\n",[189,315,317,320],{"class":191,"line":316},8,[189,318,319],{"class":210},"}",[189,321,322],{"class":206},")\n",[324,325,327],"h3",{"id":326},"core-options","Core Options",[329,330,331,353],"table",{},[332,333,334],"thead",{},[335,336,337,341,344,347,350],"tr",{},[338,339,340],"th",{},"Option",[338,342,343],{},"Type",[338,345,346],{},"Default",[338,348,349],{},"Env Var",[338,351,352],{},"Description",[354,355,356,386,410,434,457,481],"tbody",{},[335,357,358,364,369,374,379],{},[359,360,361],"td",{},[159,362,363],{},"clientId",[359,365,366],{},[159,367,368],{},"string",[359,370,371],{},[159,372,373],{},"''",[359,375,376],{},[159,377,378],{},"NUXT_OPENAPE_SP_CLIENT_ID",[359,380,381,382,385],{},"OIDC client ID (auto-derived to ",[159,383,384],{},"localhost:PORT"," in dev)",[335,387,388,393,397,402,407],{},[359,389,390],{},[159,391,392],{},"spName",[359,394,395],{},[159,396,368],{},[359,398,399],{},[159,400,401],{},"'OpenApe Service Provider'",[359,403,404],{},[159,405,406],{},"NUXT_OPENAPE_SP_SP_NAME",[359,408,409],{},"Service provider display name",[335,411,412,417,421,426,431],{},[359,413,414],{},[159,415,416],{},"sessionSecret",[359,418,419],{},[159,420,368],{},[359,422,423],{},[159,424,425],{},"'change-me-...'",[359,427,428],{},[159,429,430],{},"NUXT_OPENAPE_SP_SESSION_SECRET",[359,432,433],{},"Session encryption secret (auto-generated in dev, required in prod)",[335,435,436,441,445,449,454],{},[359,437,438],{},[159,439,440],{},"openapeUrl",[359,442,443],{},[159,444,368],{},[359,446,447],{},[159,448,373],{},[359,450,451],{},[159,452,453],{},"NUXT_OPENAPE_SP_OPENAPE_URL",[359,455,456],{},"OpenApe IdP URL (overrides DNS discovery)",[335,458,459,464,468,473,478],{},[359,460,461],{},[159,462,463],{},"fallbackIdpUrl",[359,465,466],{},[159,467,368],{},[359,469,470],{},[159,471,472],{},"'https://id.openape.at'",[359,474,475],{},[159,476,477],{},"NUXT_OPENAPE_SP_FALLBACK_IDP_URL",[359,479,480],{},"Fallback IdP when no DDISA TXT record exists",[335,482,483,488,493,498,501],{},[359,484,485],{},[159,486,487],{},"routes",[359,489,490],{},[159,491,492],{},"boolean",[359,494,495],{},[159,496,497],{},"true",[359,499,500],{},"—",[359,502,503],{},"Enable route handlers",[164,505,507],{"id":506},"server-routes","Server Routes",[155,509,510,511,514],{},"When ",[159,512,513],{},"routes: true"," (default), these routes are auto-registered:",[329,516,517,529],{},[332,518,519],{},[335,520,521,524,527],{},[338,522,523],{},"Method",[338,525,526],{},"Path",[338,528,352],{},[354,530,531,550,565,579,593,607,621],{},[335,532,533,538,543],{},[359,534,535],{},[159,536,537],{},"POST",[359,539,540],{},[159,541,542],{},"/api/login",[359,544,545,546,549],{},"Initiate login (accepts ",[159,547,548],{},"{ email }",", returns redirect URL)",[335,551,552,557,562],{},[359,553,554],{},[159,555,556],{},"GET",[359,558,559],{},[159,560,561],{},"/api/callback",[359,563,564],{},"OAuth callback (exchanges code for token, creates session)",[335,566,567,571,576],{},[359,568,569],{},[159,570,537],{},[359,572,573],{},[159,574,575],{},"/api/logout",[359,577,578],{},"End session",[335,580,581,585,590],{},[359,582,583],{},[159,584,556],{},[359,586,587],{},[159,588,589],{},"/api/me",[359,591,592],{},"Get current user info",[335,594,595,599,604],{},[359,596,597],{},[159,598,556],{},[359,600,601],{},[159,602,603],{},"/.well-known/oauth-client-metadata",[359,605,606],{},"OAuth client metadata",[335,608,609,613,618],{},[359,610,611],{},[159,612,556],{},[359,614,615],{},[159,616,617],{},"/.well-known/auth.md",[359,619,620],{},"Machine-readable auth spec for agents",[335,622,623,627,632],{},[359,624,625],{},[159,626,556],{},[359,628,629],{},[159,630,631],{},"/.well-known/openape.json",[359,633,634],{},"OpenApe service manifest",[164,636,638],{"id":637},"client-side-api","Client-Side API",[324,640,642,645],{"id":641},"useopenapeauth-composable",[159,643,644],{},"useOpenApeAuth()"," Composable",[180,647,649],{"className":182,"code":648,"language":184,"meta":185,"style":185},"const { user, loading, fetchUser, login, logout } = useOpenApeAuth()\n",[159,650,651],{"__ignoreMap":185},[189,652,653,657,660,663,666,669,671,674,676,679,681,684,686,689,692],{"class":191,"line":192},[189,654,656],{"class":655},"spNyl","const",[189,658,659],{"class":210}," {",[189,661,662],{"class":206}," user",[189,664,665],{"class":210},",",[189,667,668],{"class":206}," loading",[189,670,665],{"class":210},[189,672,673],{"class":206}," fetchUser",[189,675,665],{"class":210},[189,677,678],{"class":206}," login",[189,680,665],{"class":210},[189,682,683],{"class":206}," logout ",[189,685,319],{"class":210},[189,687,688],{"class":210}," =",[189,690,691],{"class":202}," useOpenApeAuth",[189,693,694],{"class":206},"()\n",[329,696,697,708],{},[332,698,699],{},[335,700,701,704,706],{},[338,702,703],{},"Property",[338,705,343],{},[338,707,352],{},[354,709,710,725,740,757,772],{},[335,711,712,717,722],{},[359,713,714],{},[159,715,716],{},"user",[359,718,719],{},[159,720,721],{},"Ref\u003CUser | null>",[359,723,724],{},"Current user (null if not logged in)",[335,726,727,732,737],{},[359,728,729],{},[159,730,731],{},"loading",[359,733,734],{},[159,735,736],{},"Ref\u003Cboolean>",[359,738,739],{},"Loading state",[335,741,742,747,752],{},[359,743,744],{},[159,745,746],{},"fetchUser()",[359,748,749],{},[159,750,751],{},"() => Promise\u003Cvoid>",[359,753,754,755],{},"Refresh user data from ",[159,756,589],{},[335,758,759,764,769],{},[359,760,761],{},[159,762,763],{},"login(email)",[359,765,766],{},[159,767,768],{},"(email: string) => Promise\u003Cvoid>",[359,770,771],{},"Start login flow",[335,773,774,779,783],{},[359,775,776],{},[159,777,778],{},"logout()",[359,780,781],{},[159,782,751],{},[359,784,578],{},[324,786,788,791],{"id":787},"openapeauth-component",[159,789,790],{},"\u003COpenApeAuth />"," Component",[155,793,794],{},"Drop-in login form:",[180,796,800],{"className":797,"code":798,"language":799,"meta":185,"style":185},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003COpenApeAuth\n  title=\"Login\"\n  subtitle=\"Enter your email\"\n  button-text=\"Continue\"\n  placeholder=\"you@example.com\"\n  @error=\"handleError\"\n/>\n","vue",[159,801,802,810,827,841,855,869,886],{"__ignoreMap":185},[189,803,804,807],{"class":191,"line":192},[189,805,806],{"class":210},"\u003C",[189,808,809],{"class":217},"OpenApeAuth\n",[189,811,812,815,818,821,824],{"class":191,"line":214},[189,813,814],{"class":655},"  title",[189,816,817],{"class":210},"=",[189,819,820],{"class":210},"\"",[189,822,823],{"class":230},"Login",[189,825,826],{"class":210},"\"\n",[189,828,829,832,834,836,839],{"class":191,"line":241},[189,830,831],{"class":655},"  subtitle",[189,833,817],{"class":210},[189,835,820],{"class":210},[189,837,838],{"class":230},"Enter your email",[189,840,826],{"class":210},[189,842,843,846,848,850,853],{"class":191,"line":252},[189,844,845],{"class":655},"  button-text",[189,847,817],{"class":210},[189,849,820],{"class":210},[189,851,852],{"class":230},"Continue",[189,854,826],{"class":210},[189,856,857,860,862,864,867],{"class":191,"line":270},[189,858,859],{"class":655},"  placeholder",[189,861,817],{"class":210},[189,863,820],{"class":210},[189,865,866],{"class":230},"you@example.com",[189,868,826],{"class":210},[189,870,871,874,877,879,881,884],{"class":191,"line":294},[189,872,873],{"class":210},"  @",[189,875,876],{"class":655},"error",[189,878,817],{"class":210},[189,880,820],{"class":210},[189,882,883],{"class":206},"handleError",[189,885,826],{"class":210},[189,887,888],{"class":191,"line":310},[189,889,890],{"class":206},"/>\n",[155,892,893],{},[894,895,896],"strong",{},"Props:",[329,898,899,912],{},[332,900,901],{},[335,902,903,906,908,910],{},[338,904,905],{},"Prop",[338,907,343],{},[338,909,346],{},[338,911,352],{},[354,913,914,933,952,971],{},[335,915,916,921,925,930],{},[359,917,918],{},[159,919,920],{},"title",[359,922,923],{},[159,924,368],{},[359,926,927],{},[159,928,929],{},"'Login'",[359,931,932],{},"Form title",[335,934,935,940,944,949],{},[359,936,937],{},[159,938,939],{},"subtitle",[359,941,942],{},[159,943,368],{},[359,945,946],{},[159,947,948],{},"'Enter your email to sign in'",[359,950,951],{},"Form subtitle",[335,953,954,959,963,968],{},[359,955,956],{},[159,957,958],{},"buttonText",[359,960,961],{},[159,962,368],{},[359,964,965],{},[159,966,967],{},"'Continue'",[359,969,970],{},"Submit button text",[335,972,973,978,982,987],{},[359,974,975],{},[159,976,977],{},"placeholder",[359,979,980],{},[159,981,368],{},[359,983,984],{},[159,985,986],{},"'you@example.com'",[359,988,989],{},"Email input placeholder",[155,991,992],{},[894,993,994],{},"Events:",[329,996,997,1009],{},[332,998,999],{},[335,1000,1001,1004,1007],{},[338,1002,1003],{},"Event",[338,1005,1006],{},"Payload",[338,1008,352],{},[354,1010,1011],{},[335,1012,1013,1017,1022],{},[359,1014,1015],{},[159,1016,876],{},[359,1018,1019],{},[159,1020,1021],{},"Error",[359,1023,1024],{},"Emitted when login fails",[155,1026,1027,1030,1031,1034,1035,1034,1038,1034,1040],{},[894,1028,1029],{},"Slots:"," ",[159,1032,1033],{},"header",", ",[159,1036,1037],{},"button",[159,1039,876],{},[159,1041,1042],{},"footer",[155,1044,1045],{},[894,1046,1047],{},"CSS Variables:",[329,1049,1050,1061],{},[332,1051,1052],{},[335,1053,1054,1057,1059],{},[338,1055,1056],{},"Variable",[338,1058,346],{},[338,1060,352],{},[354,1062,1063,1075,1087,1099,1111,1123,1135],{},[335,1064,1065,1070,1072],{},[359,1066,1067],{},[159,1068,1069],{},"--oa-bg",[359,1071,500],{},[359,1073,1074],{},"Background color",[335,1076,1077,1082,1084],{},[359,1078,1079],{},[159,1080,1081],{},"--oa-border",[359,1083,500],{},[359,1085,1086],{},"Border color",[335,1088,1089,1094,1096],{},[359,1090,1091],{},[159,1092,1093],{},"--oa-text",[359,1095,500],{},[359,1097,1098],{},"Text color",[335,1100,1101,1106,1108],{},[359,1102,1103],{},[159,1104,1105],{},"--oa-primary",[359,1107,500],{},[359,1109,1110],{},"Primary/accent color",[335,1112,1113,1118,1120],{},[359,1114,1115],{},[159,1116,1117],{},"--oa-error",[359,1119,500],{},[359,1121,1122],{},"Error text color",[335,1124,1125,1130,1132],{},[359,1126,1127],{},[159,1128,1129],{},"--oa-radius",[359,1131,500],{},[359,1133,1134],{},"Border radius",[335,1136,1137,1142,1144],{},[359,1138,1139],{},[159,1140,1141],{},"--oa-font",[359,1143,500],{},[359,1145,1146],{},"Font family",[164,1148,1150],{"id":1149},"service-manifest","Service Manifest",[155,1152,1153,1154,1157,1158,1160],{},"The ",[159,1155,1156],{},"manifest"," option configures the ",[159,1159,631],{}," endpoint, which agents use to discover the SP's capabilities:",[180,1162,1164],{"className":182,"code":1163,"language":184,"meta":185,"style":185},"openapeSp: {\n  manifest: {\n    service: {\n      name: 'My App',\n      description: 'A grant-aware application',\n      url: 'https://app.example.com',\n      contact: 'admin@example.com'\n    },\n    auth: {\n      ddisa_domain: 'example.com',\n      supported_methods: ['ddisa']\n    },\n    scopes: {\n      'read:data': {\n        name: 'Read Data',\n        description: 'Read application data',\n        risk: 'low'\n      },\n      'write:data': {\n        name: 'Write Data',\n        description: 'Modify application data',\n        risk: 'medium'\n      }\n    },\n    policies: {\n      agent_access: 'grant_required',\n      delegation: 'allowed'\n    }\n  }\n}\n",[159,1165,1166,1175,1184,1193,1209,1225,1241,1255,1260,1270,1287,1307,1312,1322,1338,1355,1372,1387,1393,1407,1423,1439,1453,1459,1464,1474,1491,1506,1512,1517],{"__ignoreMap":185},[189,1167,1168,1171,1173],{"class":191,"line":192},[189,1169,177],{"class":1170},"sBMFI",[189,1172,221],{"class":210},[189,1174,249],{"class":210},[189,1176,1177,1180,1182],{"class":191,"line":214},[189,1178,1179],{"class":1170},"  manifest",[189,1181,221],{"class":210},[189,1183,249],{"class":210},[189,1185,1186,1189,1191],{"class":191,"line":241},[189,1187,1188],{"class":1170},"    service",[189,1190,221],{"class":210},[189,1192,249],{"class":210},[189,1194,1195,1198,1200,1202,1205,1207],{"class":191,"line":252},[189,1196,1197],{"class":1170},"      name",[189,1199,221],{"class":210},[189,1201,260],{"class":210},[189,1203,1204],{"class":230},"My App",[189,1206,227],{"class":210},[189,1208,238],{"class":210},[189,1210,1211,1214,1216,1218,1221,1223],{"class":191,"line":270},[189,1212,1213],{"class":1170},"      description",[189,1215,221],{"class":210},[189,1217,260],{"class":210},[189,1219,1220],{"class":230},"A grant-aware application",[189,1222,227],{"class":210},[189,1224,238],{"class":210},[189,1226,1227,1230,1232,1234,1237,1239],{"class":191,"line":294},[189,1228,1229],{"class":1170},"      url",[189,1231,221],{"class":210},[189,1233,260],{"class":210},[189,1235,1236],{"class":230},"https://app.example.com",[189,1238,227],{"class":210},[189,1240,238],{"class":210},[189,1242,1243,1246,1248,1250,1253],{"class":191,"line":310},[189,1244,1245],{"class":1170},"      contact",[189,1247,221],{"class":210},[189,1249,260],{"class":210},[189,1251,1252],{"class":230},"admin@example.com",[189,1254,307],{"class":210},[189,1256,1257],{"class":191,"line":316},[189,1258,1259],{"class":210},"    },\n",[189,1261,1263,1266,1268],{"class":191,"line":1262},9,[189,1264,1265],{"class":1170},"    auth",[189,1267,221],{"class":210},[189,1269,249],{"class":210},[189,1271,1273,1276,1278,1280,1283,1285],{"class":191,"line":1272},10,[189,1274,1275],{"class":1170},"      ddisa_domain",[189,1277,221],{"class":210},[189,1279,260],{"class":210},[189,1281,1282],{"class":230},"example.com",[189,1284,227],{"class":210},[189,1286,238],{"class":210},[189,1288,1290,1293,1295,1297,1299,1302,1304],{"class":191,"line":1289},11,[189,1291,1292],{"class":1170},"      supported_methods",[189,1294,221],{"class":210},[189,1296,224],{"class":217},[189,1298,227],{"class":210},[189,1300,1301],{"class":230},"ddisa",[189,1303,227],{"class":210},[189,1305,1306],{"class":217},"]\n",[189,1308,1310],{"class":191,"line":1309},12,[189,1311,1259],{"class":210},[189,1313,1315,1318,1320],{"class":191,"line":1314},13,[189,1316,1317],{"class":1170},"    scopes",[189,1319,221],{"class":210},[189,1321,249],{"class":210},[189,1323,1325,1328,1331,1333,1336],{"class":191,"line":1324},14,[189,1326,1327],{"class":210},"      '",[189,1329,1330],{"class":230},"read:data",[189,1332,227],{"class":210},[189,1334,1335],{"class":217},": ",[189,1337,211],{"class":210},[189,1339,1341,1344,1346,1348,1351,1353],{"class":191,"line":1340},15,[189,1342,1343],{"class":217},"        name",[189,1345,221],{"class":210},[189,1347,260],{"class":210},[189,1349,1350],{"class":230},"Read Data",[189,1352,227],{"class":210},[189,1354,238],{"class":210},[189,1356,1358,1361,1363,1365,1368,1370],{"class":191,"line":1357},16,[189,1359,1360],{"class":217},"        description",[189,1362,221],{"class":210},[189,1364,260],{"class":210},[189,1366,1367],{"class":230},"Read application data",[189,1369,227],{"class":210},[189,1371,238],{"class":210},[189,1373,1375,1378,1380,1382,1385],{"class":191,"line":1374},17,[189,1376,1377],{"class":217},"        risk",[189,1379,221],{"class":210},[189,1381,260],{"class":210},[189,1383,1384],{"class":230},"low",[189,1386,307],{"class":210},[189,1388,1390],{"class":191,"line":1389},18,[189,1391,1392],{"class":210},"      },\n",[189,1394,1396,1398,1401,1403,1405],{"class":191,"line":1395},19,[189,1397,1327],{"class":210},[189,1399,1400],{"class":230},"write:data",[189,1402,227],{"class":210},[189,1404,1335],{"class":217},[189,1406,211],{"class":210},[189,1408,1410,1412,1414,1416,1419,1421],{"class":191,"line":1409},20,[189,1411,1343],{"class":217},[189,1413,221],{"class":210},[189,1415,260],{"class":210},[189,1417,1418],{"class":230},"Write Data",[189,1420,227],{"class":210},[189,1422,238],{"class":210},[189,1424,1426,1428,1430,1432,1435,1437],{"class":191,"line":1425},21,[189,1427,1360],{"class":217},[189,1429,221],{"class":210},[189,1431,260],{"class":210},[189,1433,1434],{"class":230},"Modify application data",[189,1436,227],{"class":210},[189,1438,238],{"class":210},[189,1440,1442,1444,1446,1448,1451],{"class":191,"line":1441},22,[189,1443,1377],{"class":217},[189,1445,221],{"class":210},[189,1447,260],{"class":210},[189,1449,1450],{"class":230},"medium",[189,1452,307],{"class":210},[189,1454,1456],{"class":191,"line":1455},23,[189,1457,1458],{"class":210},"      }\n",[189,1460,1462],{"class":191,"line":1461},24,[189,1463,1259],{"class":210},[189,1465,1467,1470,1472],{"class":191,"line":1466},25,[189,1468,1469],{"class":1170},"    policies",[189,1471,221],{"class":210},[189,1473,249],{"class":210},[189,1475,1477,1480,1482,1484,1487,1489],{"class":191,"line":1476},26,[189,1478,1479],{"class":1170},"      agent_access",[189,1481,221],{"class":210},[189,1483,260],{"class":210},[189,1485,1486],{"class":230},"grant_required",[189,1488,227],{"class":210},[189,1490,238],{"class":210},[189,1492,1494,1497,1499,1501,1504],{"class":191,"line":1493},27,[189,1495,1496],{"class":1170},"      delegation",[189,1498,221],{"class":210},[189,1500,260],{"class":210},[189,1502,1503],{"class":230},"allowed",[189,1505,307],{"class":210},[189,1507,1509],{"class":191,"line":1508},28,[189,1510,1511],{"class":210},"    }\n",[189,1513,1515],{"class":191,"line":1514},29,[189,1516,313],{"class":210},[189,1518,1520],{"class":191,"line":1519},30,[189,1521,1522],{"class":210},"}\n",[164,1524,1526],{"id":1525},"vercel-serverless-deployment","Vercel / Serverless Deployment",[155,1528,1529],{},"For serverless environments, configure Nitro to inline external dependencies:",[180,1531,1533],{"className":182,"code":1532,"language":184,"meta":185,"style":185},"export default defineNuxtConfig({\n  nitro: {\n    preset: 'vercel',\n    externals: {\n      inline: ['@openape/nuxt-auth-sp']\n    }\n  }\n})\n",[159,1534,1535,1547,1556,1572,1581,1598,1602,1606],{"__ignoreMap":185},[189,1536,1537,1539,1541,1543,1545],{"class":191,"line":192},[189,1538,196],{"class":195},[189,1540,199],{"class":195},[189,1542,203],{"class":202},[189,1544,207],{"class":206},[189,1546,211],{"class":210},[189,1548,1549,1552,1554],{"class":191,"line":214},[189,1550,1551],{"class":217},"  nitro",[189,1553,221],{"class":210},[189,1555,249],{"class":210},[189,1557,1558,1561,1563,1565,1568,1570],{"class":191,"line":241},[189,1559,1560],{"class":217},"    preset",[189,1562,221],{"class":210},[189,1564,260],{"class":210},[189,1566,1567],{"class":230},"vercel",[189,1569,227],{"class":210},[189,1571,238],{"class":210},[189,1573,1574,1577,1579],{"class":191,"line":252},[189,1575,1576],{"class":217},"    externals",[189,1578,221],{"class":210},[189,1580,249],{"class":210},[189,1582,1583,1586,1588,1590,1592,1594,1596],{"class":191,"line":270},[189,1584,1585],{"class":217},"      inline",[189,1587,221],{"class":210},[189,1589,224],{"class":206},[189,1591,227],{"class":210},[189,1593,161],{"class":230},[189,1595,227],{"class":210},[189,1597,1306],{"class":206},[189,1599,1600],{"class":191,"line":294},[189,1601,1511],{"class":210},[189,1603,1604],{"class":191,"line":310},[189,1605,313],{"class":210},[189,1607,1608,1610],{"class":191,"line":316},[189,1609,319],{"class":210},[189,1611,322],{"class":206},[164,1613,1615],{"id":1614},"production-checklist","Production Checklist",[1617,1618,1621,1635,1644,1656,1662],"ul",{"className":1619},[1620],"contains-task-list",[1622,1623,1626,1631,1632,1634],"li",{"className":1624},[1625],"task-list-item",[1627,1628],"input",{"disabled":1629,"type":1630},true,"checkbox"," Set a strong ",[159,1633,416],{}," (32+ random characters)",[1622,1636,1638,1640,1641,1643],{"className":1637},[1625],[1627,1639],{"disabled":1629,"type":1630}," Set ",[159,1642,363],{}," to your production domain",[1622,1645,1647,1649,1650,1652,1653,1655],{"className":1646},[1625],[1627,1648],{"disabled":1629,"type":1630}," Configure ",[159,1651,463],{}," (or set to ",[159,1654,373],{}," to reject domains without DDISA records)",[1622,1657,1659,1661],{"className":1658},[1625],[1627,1660],{"disabled":1629,"type":1630}," Ensure your app is served over HTTPS",[1622,1663,1665,1667],{"className":1664},[1625],[1627,1666],{"disabled":1629,"type":1630}," Configure the service manifest for agent discoverability",[1669,1670,1671],"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":185,"searchDepth":241,"depth":214,"links":1673},[1674,1677,1678,1684,1685,1686],{"id":166,"depth":214,"text":167,"children":1675},[1676],{"id":326,"depth":241,"text":327},{"id":506,"depth":214,"text":507},{"id":637,"depth":214,"text":638,"children":1679},[1680,1682],{"id":641,"depth":241,"text":1681},"useOpenApeAuth() Composable",{"id":787,"depth":241,"text":1683},"\u003COpenApeAuth /> Component",{"id":1149,"depth":214,"text":1150},{"id":1525,"depth":214,"text":1526},{"id":1614,"depth":214,"text":1615},"Complete configuration reference for @openape/nuxt-auth-sp.","md",null,{},{"title":112,"description":1687},"ruVxyvPhhqHO97aUPrMBuB8e_vj8-ePpH7g-E9C8vxQ",[1694,1696],{"title":108,"path":109,"stem":110,"description":1695,"children":-1},"Complete configuration reference for @openape/nuxt-auth-idp.",{"title":116,"path":117,"stem":118,"description":1697,"children":-1},"Complete API reference for IdP and SP endpoints.",1774221117377]