[{"data":1,"prerenderedAt":956},["ShallowReactive",2],{"navigation":3,"\u002Fpackages\u002Fadonisjs-simple-auth\u002Fgetting-started\u002Fconfiguration":273,"\u002Fpackages\u002Fadonisjs-simple-auth\u002Fgetting-started\u002Fconfiguration-surround":902,"packages-data":907},[4,23],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-tabler-home",{"title":13,"path":14,"stem":15,"icon":16},"Manifest","\u002Fgetting-started\u002Fmanifest","1.getting-started\u002F2.manifest","i-tabler-file-diff",{"title":18,"path":19,"stem":20,"icon":21},"Contributing","\u002Fgetting-started\u002Fcontributing","1.getting-started\u002F3.contributing","i-tabler-git-fork",false,{"title":24,"path":25,"stem":26,"children":27,"icon":30},"Packages","\u002Fpackages","2.packages\u002F1.index",[28,31,108,194,247],{"title":29,"path":25,"stem":26,"icon":30},"Overview","i-tabler-packages",{"title":32,"icon":33,"path":34,"stem":35,"children":36,"page":22},"AdonisJS API Query","i-tabler-filter-search","\u002Fpackages\u002Fadonisjs-api-query","2.packages\u002Fadonisjs-api-query",[37,56,87],{"title":5,"icon":38,"path":39,"stem":40,"children":41,"page":22},"i-tabler-rocket","\u002Fpackages\u002Fadonisjs-api-query\u002Fgetting-started","2.packages\u002Fadonisjs-api-query\u002F1.getting-started",[42,46,51],{"title":10,"path":43,"stem":44,"icon":45},"\u002Fpackages\u002Fadonisjs-api-query\u002Fgetting-started\u002Fintroduction","2.packages\u002Fadonisjs-api-query\u002F1.getting-started\u002F1.introduction","i-tabler-book",{"title":47,"path":48,"stem":49,"icon":50},"Installation","\u002Fpackages\u002Fadonisjs-api-query\u002Fgetting-started\u002Finstallation","2.packages\u002Fadonisjs-api-query\u002F1.getting-started\u002F2.installation","i-tabler-download",{"title":52,"path":53,"stem":54,"icon":55},"Configuration","\u002Fpackages\u002Fadonisjs-api-query\u002Fgetting-started\u002Fconfiguration","2.packages\u002Fadonisjs-api-query\u002F1.getting-started\u002F3.configuration","i-tabler-settings",{"title":57,"icon":58,"path":59,"stem":60,"children":61,"page":22},"Features","i-tabler-sparkles","\u002Fpackages\u002Fadonisjs-api-query\u002Ffeatures","2.packages\u002Fadonisjs-api-query\u002F2.features",[62,67,72,77,82],{"title":63,"path":64,"stem":65,"icon":66},"Filtering","\u002Fpackages\u002Fadonisjs-api-query\u002Ffeatures\u002Ffiltering","2.packages\u002Fadonisjs-api-query\u002F2.features\u002F1.filtering","i-tabler-filter",{"title":68,"path":69,"stem":70,"icon":71},"Sorting","\u002Fpackages\u002Fadonisjs-api-query\u002Ffeatures\u002Fsorting","2.packages\u002Fadonisjs-api-query\u002F2.features\u002F2.sorting","i-tabler-arrows-sort",{"title":73,"path":74,"stem":75,"icon":76},"Including Relationships","\u002Fpackages\u002Fadonisjs-api-query\u002Ffeatures\u002Fincluding-relationships","2.packages\u002Fadonisjs-api-query\u002F2.features\u002F3.including-relationships","i-tabler-hierarchy-2",{"title":78,"path":79,"stem":80,"icon":81},"Filterable Classes","\u002Fpackages\u002Fadonisjs-api-query\u002Ffeatures\u002Ffilterable-classes","2.packages\u002Fadonisjs-api-query\u002F2.features\u002F4.filterable-classes","i-tabler-box-model",{"title":83,"path":84,"stem":85,"icon":86},"Validation","\u002Fpackages\u002Fadonisjs-api-query\u002Ffeatures\u002Fvalidation","2.packages\u002Fadonisjs-api-query\u002F2.features\u002F5.validation","i-tabler-shield-check",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":22},"Advanced Usage","i-tabler-adjustments","\u002Fpackages\u002Fadonisjs-api-query\u002Fadvanced","2.packages\u002Fadonisjs-api-query\u002F3.advanced",[93,98,103],{"title":94,"path":95,"stem":96,"icon":97},"Custom Filters, Sorts & Includes","\u002Fpackages\u002Fadonisjs-api-query\u002Fadvanced\u002Fcustom-clauses","2.packages\u002Fadonisjs-api-query\u002F3.advanced\u002F1.custom-clauses","i-tabler-puzzle",{"title":99,"path":100,"stem":101,"icon":102},"Request & Delimiters","\u002Fpackages\u002Fadonisjs-api-query\u002Fadvanced\u002Frequest-and-delimiters","2.packages\u002Fadonisjs-api-query\u002F3.advanced\u002F2.request-and-delimiters","i-tabler-brackets-contain",{"title":104,"path":105,"stem":106,"icon":107},"Exceptions","\u002Fpackages\u002Fadonisjs-api-query\u002Fadvanced\u002Fexceptions","2.packages\u002Fadonisjs-api-query\u002F3.advanced\u002F3.exceptions","i-tabler-alert-triangle",{"title":109,"icon":110,"path":111,"stem":112,"children":113,"page":22},"AdonisJS Permission","i-tabler-shield-lock","\u002Fpackages\u002Fadonisjs-permission","2.packages\u002Fadonisjs-permission",[114,127,157,183],{"title":5,"icon":38,"path":115,"stem":116,"children":117,"page":22},"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started","2.packages\u002Fadonisjs-permission\u002F1.getting-started",[118,121,124],{"title":10,"path":119,"stem":120,"icon":45},"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fintroduction","2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F1.introduction",{"title":47,"path":122,"stem":123,"icon":50},"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Finstallation","2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F2.installation",{"title":52,"path":125,"stem":126,"icon":55},"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fconfiguration","2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F3.configuration",{"title":128,"icon":86,"path":129,"stem":130,"children":131,"page":22},"Basic Usage","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage","2.packages\u002Fadonisjs-permission\u002F2.basic-usage",[132,137,142,147,152],{"title":133,"path":134,"stem":135,"icon":136},"Roles & Permissions","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Froles-and-permissions","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F1.roles-and-permissions","i-tabler-users",{"title":138,"path":139,"stem":140,"icon":141},"Checking Access","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fchecking","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F2.checking","i-tabler-checks",{"title":143,"path":144,"stem":145,"icon":146},"Middleware","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fmiddleware","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F3.middleware","i-tabler-route",{"title":148,"path":149,"stem":150,"icon":151},"Wildcard Permissions","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fwildcard-permissions","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F4.wildcard-permissions","i-tabler-asterisk",{"title":153,"path":154,"stem":155,"icon":156},"Catalog & Sync","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fcatalog","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F5.catalog","i-tabler-refresh",{"title":158,"icon":159,"path":160,"stem":161,"children":162,"page":22},"Advanced","i-tabler-tool","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced","2.packages\u002Fadonisjs-permission\u002F3.advanced",[163,168,173,178],{"title":164,"path":165,"stem":166,"icon":167},"Teams","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fteams","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F1.teams","i-tabler-building",{"title":169,"path":170,"stem":171,"icon":172},"Super-Admin","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fsuper-admin","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F2.super-admin","i-tabler-crown",{"title":174,"path":175,"stem":176,"icon":177},"Events","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fevents","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F3.events","i-tabler-radio",{"title":179,"path":180,"stem":181,"icon":182},"Cache","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fcache","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F4.cache","i-tabler-database",{"title":184,"icon":185,"path":186,"stem":187,"children":188,"page":22},"Upgrading","i-tabler-circle-arrow-up","\u002Fpackages\u002Fadonisjs-permission\u002Fupgrading","2.packages\u002Fadonisjs-permission\u002F4.upgrading",[189],{"title":190,"path":191,"stem":192,"icon":193},"From adonis-lucid-permission","\u002Fpackages\u002Fadonisjs-permission\u002Fupgrading\u002Ffrom-adonis-lucid-permission","2.packages\u002Fadonisjs-permission\u002F4.upgrading\u002F1.from-adonis-lucid-permission","i-tabler-git-compare",{"title":195,"icon":196,"path":197,"stem":198,"children":199,"page":22},"Simple Auth","i-tabler-key","\u002Fpackages\u002Fadonisjs-simple-auth","2.packages\u002Fadonisjs-simple-auth",[200,214,233],{"title":5,"icon":38,"path":201,"stem":202,"children":203,"page":22},"\u002Fpackages\u002Fadonisjs-simple-auth\u002Fgetting-started","2.packages\u002Fadonisjs-simple-auth\u002F1.getting-started",[204,208,211],{"title":10,"path":205,"stem":206,"icon":207},"\u002Fpackages\u002Fadonisjs-simple-auth\u002Fgetting-started\u002Fintroduction","2.packages\u002Fadonisjs-simple-auth\u002F1.getting-started\u002F1.introduction","i-tabler-info-circle",{"title":47,"path":209,"stem":210,"icon":50},"\u002Fpackages\u002Fadonisjs-simple-auth\u002Fgetting-started\u002Finstallation","2.packages\u002Fadonisjs-simple-auth\u002F1.getting-started\u002F2.installation",{"title":52,"path":212,"stem":213,"icon":55},"\u002Fpackages\u002Fadonisjs-simple-auth\u002Fgetting-started\u002Fconfiguration","2.packages\u002Fadonisjs-simple-auth\u002F1.getting-started\u002F3.configuration",{"title":215,"icon":110,"path":216,"stem":217,"children":218,"page":22},"Usage","\u002Fpackages\u002Fadonisjs-simple-auth\u002Fusage","2.packages\u002Fadonisjs-simple-auth\u002F2.usage",[219,224,229],{"title":220,"path":221,"stem":222,"icon":223},"Generating API Keys","\u002Fpackages\u002Fadonisjs-simple-auth\u002Fusage\u002Fgenerating-api-keys","2.packages\u002Fadonisjs-simple-auth\u002F2.usage\u002F1.generating-api-keys","i-tabler-terminal-2",{"title":225,"path":226,"stem":227,"icon":228},"Protecting Routes","\u002Fpackages\u002Fadonisjs-simple-auth\u002Fusage\u002Fprotecting-routes","2.packages\u002Fadonisjs-simple-auth\u002F2.usage\u002F2.protecting-routes","i-tabler-lock",{"title":230,"path":231,"stem":232,"icon":107},"Error Handling & i18n","\u002Fpackages\u002Fadonisjs-simple-auth\u002Fusage\u002Ferror-handling","2.packages\u002Fadonisjs-simple-auth\u002F2.usage\u002F3.error-handling",{"title":158,"icon":89,"path":234,"stem":235,"children":236,"page":22},"\u002Fpackages\u002Fadonisjs-simple-auth\u002Fadvanced","2.packages\u002Fadonisjs-simple-auth\u002F3.advanced",[237,242],{"title":238,"path":239,"stem":240,"icon":241},"Testing with Japa","\u002Fpackages\u002Fadonisjs-simple-auth\u002Fadvanced\u002Ftesting-with-japa","2.packages\u002Fadonisjs-simple-auth\u002F3.advanced\u002F1.testing-with-japa","i-tabler-flask",{"title":243,"path":244,"stem":245,"icon":246},"API Reference","\u002Fpackages\u002Fadonisjs-simple-auth\u002Fadvanced\u002Fapi-reference","2.packages\u002Fadonisjs-simple-auth\u002F3.advanced\u002F2.api-reference","i-tabler-code",{"title":248,"icon":249,"path":250,"stem":251,"children":252,"page":22},"AdonisJS Soft Deletes","i-tabler-trash-off","\u002Fpackages\u002Fadonisjs-soft-deletes","2.packages\u002Fadonisjs-soft-deletes",[253,263],{"title":5,"icon":38,"path":254,"stem":255,"children":256,"page":22},"\u002Fpackages\u002Fadonisjs-soft-deletes\u002Fgetting-started","2.packages\u002Fadonisjs-soft-deletes\u002F1.getting-started",[257,260],{"title":10,"path":258,"stem":259,"icon":207},"\u002Fpackages\u002Fadonisjs-soft-deletes\u002Fgetting-started\u002Fintroduction","2.packages\u002Fadonisjs-soft-deletes\u002F1.getting-started\u002F1.introduction",{"title":47,"path":261,"stem":262,"icon":50},"\u002Fpackages\u002Fadonisjs-soft-deletes\u002Fgetting-started\u002Finstallation","2.packages\u002Fadonisjs-soft-deletes\u002F1.getting-started\u002F2.installation",{"title":215,"icon":45,"path":264,"stem":265,"children":266,"page":22},"\u002Fpackages\u002Fadonisjs-soft-deletes\u002Fusage","2.packages\u002Fadonisjs-soft-deletes\u002F2.usage",[267,270],{"title":215,"path":268,"stem":269,"icon":246},"\u002Fpackages\u002Fadonisjs-soft-deletes\u002Fusage\u002Fusage","2.packages\u002Fadonisjs-soft-deletes\u002F2.usage\u002F1.usage",{"title":243,"path":271,"stem":272,"icon":45},"\u002Fpackages\u002Fadonisjs-soft-deletes\u002Fusage\u002Fapi-reference","2.packages\u002Fadonisjs-soft-deletes\u002F2.usage\u002F2.api-reference",{"id":274,"title":52,"body":275,"description":896,"extension":897,"meta":898,"navigation":899,"path":212,"seo":900,"stem":213,"__hash__":901},"docs\u002F2.packages\u002Fadonisjs-simple-auth\u002F1.getting-started\u002F3.configuration.md",{"type":276,"value":277,"toc":888},"minimark",[278,291,296,469,473,484,562,568,579,587,691,696,719,739,743,759,875,884],[279,280,281,282,286,287,290],"p",{},"The configuration for ",[283,284,285],"code",{},"@eienjs\u002Fadonisjs-simple-auth"," is stored in the ",[283,288,289],{},"config\u002Fsimpleauth.ts"," file, which is created when you configure the package.",[292,293,295],"h2",{"id":294},"default-configuration","Default Configuration",[297,298,303],"pre",{"className":299,"code":300,"filename":289,"language":301,"meta":302,"style":302},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineConfig } from '@eienjs\u002Fadonisjs-simple-auth';\nimport env from '#start\u002Fenv';\n\nconst simpleAuthConfig = defineConfig({\n  apiKeyHeader: 'x-api-key',\n  apiKeyValue: env.get('API_KEY'),\n});\n\nexport default simpleAuthConfig;\n","ts","",[283,304,305,340,360,367,389,409,440,450,455],{"__ignoreMap":302},[306,307,310,314,318,322,325,328,331,334,337],"span",{"class":308,"line":309},"line",1,[306,311,313],{"class":312},"s7zQu","import",[306,315,317],{"class":316},"sMK4o"," {",[306,319,321],{"class":320},"sTEyZ"," defineConfig",[306,323,324],{"class":316}," }",[306,326,327],{"class":312}," from",[306,329,330],{"class":316}," '",[306,332,285],{"class":333},"sfazB",[306,335,336],{"class":316},"'",[306,338,339],{"class":316},";\n",[306,341,343,345,348,351,353,356,358],{"class":308,"line":342},2,[306,344,313],{"class":312},[306,346,347],{"class":320}," env ",[306,349,350],{"class":312},"from",[306,352,330],{"class":316},[306,354,355],{"class":333},"#start\u002Fenv",[306,357,336],{"class":316},[306,359,339],{"class":316},[306,361,363],{"class":308,"line":362},3,[306,364,366],{"emptyLinePlaceholder":365},true,"\n",[306,368,370,374,377,380,383,386],{"class":308,"line":369},4,[306,371,373],{"class":372},"spNyl","const",[306,375,376],{"class":320}," simpleAuthConfig ",[306,378,379],{"class":316},"=",[306,381,321],{"class":382},"s2Zo4",[306,384,385],{"class":320},"(",[306,387,388],{"class":316},"{\n",[306,390,392,396,399,401,404,406],{"class":308,"line":391},5,[306,393,395],{"class":394},"swJcz","  apiKeyHeader",[306,397,398],{"class":316},":",[306,400,330],{"class":316},[306,402,403],{"class":333},"x-api-key",[306,405,336],{"class":316},[306,407,408],{"class":316},",\n",[306,410,412,415,417,420,423,426,428,430,433,435,438],{"class":308,"line":411},6,[306,413,414],{"class":394},"  apiKeyValue",[306,416,398],{"class":316},[306,418,419],{"class":320}," env",[306,421,422],{"class":316},".",[306,424,425],{"class":382},"get",[306,427,385],{"class":320},[306,429,336],{"class":316},[306,431,432],{"class":333},"API_KEY",[306,434,336],{"class":316},[306,436,437],{"class":320},")",[306,439,408],{"class":316},[306,441,443,446,448],{"class":308,"line":442},7,[306,444,445],{"class":316},"}",[306,447,437],{"class":320},[306,449,339],{"class":316},[306,451,453],{"class":308,"line":452},8,[306,454,366],{"emptyLinePlaceholder":365},[306,456,458,461,464,467],{"class":308,"line":457},9,[306,459,460],{"class":312},"export",[306,462,463],{"class":312}," default",[306,465,466],{"class":320}," simpleAuthConfig",[306,468,339],{"class":316},[292,470,472],{"id":471},"configuration-options","Configuration Options",[279,474,475,476,479,480,483],{},"The ",[283,477,478],{},"defineConfig"," function accepts a ",[283,481,482],{},"SimpleAuthConfig"," object with the following properties:",[485,486,487,510],"table",{},[488,489,490],"thead",{},[491,492,493,498,501,504,507],"tr",{},[494,495,497],"th",{"align":496},"left","Option",[494,499,500],{"align":496},"Type",[494,502,503],{"align":496},"Default",[494,505,506],{"align":496},"Required",[494,508,509],{"align":496},"Description",[511,512,513,537],"tbody",{},[491,514,515,521,526,531,534],{},[516,517,518],"td",{"align":496},[283,519,520],{},"apiKeyHeader",[516,522,523],{"align":496},[283,524,525],{},"string",[516,527,528],{"align":496},[283,529,530],{},"'x-api-key'",[516,532,533],{"align":496},"No",[516,535,536],{"align":496},"The HTTP request header name inspected for the API key. Header lookup in AdonisJS is case-insensitive.",[491,538,539,544,549,552,555],{},[516,540,541],{"align":496},[283,542,543],{},"apiKeyValue",[516,545,546],{"align":496},[283,547,548],{},"string | Secret\u003Cstring>",[516,550,551],{"align":496},"—",[516,553,554],{"align":496},"Yes",[516,556,557,558,561],{"align":496},"The expected API key token. Accepts a plain string or an AdonisJS ",[283,559,560],{},"Secret\u003Cstring>"," instance.",[563,564,566],"h3",{"id":565},"apikeyheader",[283,567,520],{},[279,569,570,571,573,574,576,577,422],{},"By default, the package reads the ",[283,572,403],{}," header from incoming HTTP requests. If you omit ",[283,575,520],{},", it defaults to ",[283,578,530],{},[279,580,581,582,584,585,398],{},"To use a custom header name, set ",[283,583,520],{}," in ",[283,586,289],{},[297,588,590],{"className":299,"code":589,"filename":289,"language":301,"meta":302,"style":302},"import { defineConfig } from '@eienjs\u002Fadonisjs-simple-auth';\nimport env from '#start\u002Fenv';\n\nexport default defineConfig({\n  apiKeyHeader: 'x-service-token',\n  apiKeyValue: env.get('API_KEY'),\n});\n",[283,591,592,612,628,632,644,659,683],{"__ignoreMap":302},[306,593,594,596,598,600,602,604,606,608,610],{"class":308,"line":309},[306,595,313],{"class":312},[306,597,317],{"class":316},[306,599,321],{"class":320},[306,601,324],{"class":316},[306,603,327],{"class":312},[306,605,330],{"class":316},[306,607,285],{"class":333},[306,609,336],{"class":316},[306,611,339],{"class":316},[306,613,614,616,618,620,622,624,626],{"class":308,"line":342},[306,615,313],{"class":312},[306,617,347],{"class":320},[306,619,350],{"class":312},[306,621,330],{"class":316},[306,623,355],{"class":333},[306,625,336],{"class":316},[306,627,339],{"class":316},[306,629,630],{"class":308,"line":362},[306,631,366],{"emptyLinePlaceholder":365},[306,633,634,636,638,640,642],{"class":308,"line":369},[306,635,460],{"class":312},[306,637,463],{"class":312},[306,639,321],{"class":382},[306,641,385],{"class":320},[306,643,388],{"class":316},[306,645,646,648,650,652,655,657],{"class":308,"line":391},[306,647,395],{"class":394},[306,649,398],{"class":316},[306,651,330],{"class":316},[306,653,654],{"class":333},"x-service-token",[306,656,336],{"class":316},[306,658,408],{"class":316},[306,660,661,663,665,667,669,671,673,675,677,679,681],{"class":308,"line":411},[306,662,414],{"class":394},[306,664,398],{"class":316},[306,666,419],{"class":320},[306,668,422],{"class":316},[306,670,425],{"class":382},[306,672,385],{"class":320},[306,674,336],{"class":316},[306,676,432],{"class":333},[306,678,336],{"class":316},[306,680,437],{"class":320},[306,682,408],{"class":316},[306,684,685,687,689],{"class":308,"line":442},[306,686,445],{"class":316},[306,688,437],{"class":320},[306,690,339],{"class":316},[563,692,694],{"id":693},"apikeyvalue",[283,695,543],{},[279,697,698,699,701,702,704,705,708,709,711,712,715,716,718],{},"The secret token that incoming requests must match. When resolved by ",[283,700,478],{},", any plain ",[283,703,525],{}," value is automatically wrapped in an AdonisJS ",[283,706,707],{},"Secret"," instance to prevent accidental exposure in logs or stack traces. If you already pass a ",[283,710,560],{}," (for example, via ",[283,713,714],{},"Env.schema.secret()","), the existing ",[283,717,707],{}," instance is preserved.",[720,721,722],"warning",{},[279,723,724,725,727,728,731,732,735,736,738],{},"If ",[283,726,543],{}," resolves to an empty or whitespace-only string, all authentication attempts will fail with a ",[283,729,730],{},"SimpleAuthException"," (",[283,733,734],{},"401 Unauthorized","). Always ensure ",[283,737,432],{}," is set in your environment.",[292,740,742],{"id":741},"environment-schema-recommendation","Environment Schema Recommendation",[279,744,745,746,748,749,584,752,755,756,758],{},"We recommend validating ",[283,747,432],{}," as a ",[283,750,751],{},"secret",[283,753,754],{},"start\u002Fenv.ts"," so your application fails fast on boot if the key is missing and keeps the value redacted inside a ",[283,757,707],{}," container:",[297,760,762],{"className":299,"code":761,"filename":754,"language":301,"meta":302,"style":302},"import { Env } from '@adonisjs\u002Fcore\u002Fenv';\n\nexport default await Env.create(new URL('..\u002F', import.meta.url), {\n  API_KEY: Env.schema.secret(),\n});\n",[283,763,764,786,790,844,867],{"__ignoreMap":302},[306,765,766,768,770,773,775,777,779,782,784],{"class":308,"line":309},[306,767,313],{"class":312},[306,769,317],{"class":316},[306,771,772],{"class":320}," Env",[306,774,324],{"class":316},[306,776,327],{"class":312},[306,778,330],{"class":316},[306,780,781],{"class":333},"@adonisjs\u002Fcore\u002Fenv",[306,783,336],{"class":316},[306,785,339],{"class":316},[306,787,788],{"class":308,"line":342},[306,789,366],{"emptyLinePlaceholder":365},[306,791,792,794,796,799,801,803,806,808,811,814,816,818,821,823,826,829,831,834,836,839,841],{"class":308,"line":362},[306,793,460],{"class":312},[306,795,463],{"class":312},[306,797,798],{"class":312}," await",[306,800,772],{"class":320},[306,802,422],{"class":316},[306,804,805],{"class":382},"create",[306,807,385],{"class":320},[306,809,810],{"class":316},"new",[306,812,813],{"class":382}," URL",[306,815,385],{"class":320},[306,817,336],{"class":316},[306,819,820],{"class":333},"..\u002F",[306,822,336],{"class":316},[306,824,825],{"class":316},",",[306,827,828],{"class":312}," import",[306,830,422],{"class":316},[306,832,833],{"class":320},"meta",[306,835,422],{"class":316},[306,837,838],{"class":320},"url)",[306,840,825],{"class":316},[306,842,843],{"class":316}," {\n",[306,845,846,849,851,853,855,858,860,862,865],{"class":308,"line":369},[306,847,848],{"class":394},"  API_KEY",[306,850,398],{"class":316},[306,852,772],{"class":320},[306,854,422],{"class":316},[306,856,857],{"class":320},"schema",[306,859,422],{"class":316},[306,861,751],{"class":382},[306,863,864],{"class":320},"()",[306,866,408],{"class":316},[306,868,869,871,873],{"class":308,"line":391},[306,870,445],{"class":316},[306,872,437],{"class":320},[306,874,339],{"class":316},[279,876,877,878,880,881,422],{},"To generate and manage your ",[283,879,432],{}," value, see ",[882,883,220],"a",{"href":221},[885,886,887],"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":302,"searchDepth":309,"depth":342,"links":889},[890,891,895],{"id":294,"depth":342,"text":295},{"id":471,"depth":342,"text":472,"children":892},[893,894],{"id":565,"depth":362,"text":520},{"id":693,"depth":362,"text":543},{"id":741,"depth":342,"text":742},"Configure the HTTP header name and API key value in config\u002Fsimpleauth.ts.","md",{},{"icon":55},{"title":52,"description":896},"7kll0l8NVTl2aOKVPGwweKmbcksLc6bMfz0i-X3M7Nk",[903,905],{"title":47,"path":209,"stem":210,"description":904,"icon":50,"children":-1},"Install and configure @eienjs\u002Fadonisjs-simple-auth in your AdonisJS v7 project.",{"title":220,"path":221,"stem":222,"description":906,"icon":223,"children":-1},"Generate cryptographically secure API keys with the generate:api-key Ace command.",{"id":908,"extension":909,"meta":910,"packages":911,"stem":954,"__hash__":955},"packages\u002Fdata\u002Fpackages.json","json",{},[912,919,925,931,936,942,948],{"name":913,"title":914,"description":915,"icon":86,"category":916,"repo":917,"version":918,"docs":365},"adonisjs-permission","Permission","Associate users with roles and permissions in your AdonisJS app","adonisjs","https:\u002F\u002Fgithub.com\u002Feienjs\u002Fadonisjs-permission","1.0.0",{"name":920,"title":921,"description":922,"icon":33,"category":916,"repo":923,"version":924,"docs":365},"adonisjs-api-query","API Query","Easily build Lucid queries from API requests","https:\u002F\u002Fgithub.com\u002Feienjs\u002Fadonisjs-api-query","3.0.1",{"name":926,"title":927,"description":928,"icon":249,"category":916,"repo":929,"version":930,"docs":365},"adonisjs-soft-deletes","Soft Deletes","Provider-based Soft deletes for AdonisJS","https:\u002F\u002Fgithub.com\u002Feienjs\u002Fadonisjs-soft-deletes","1.0.2",{"name":932,"title":195,"description":933,"icon":196,"category":916,"repo":934,"version":935,"docs":365},"adonisjs-simple-auth","Single API key authentication for AdonisJS v7 applications","https:\u002F\u002Fgithub.com\u002Feienjs\u002Fadonisjs-simple-auth","2.1.0",{"name":937,"title":938,"description":939,"icon":940,"category":916,"repo":941,"docs":22},"adonisjs-sentry","Sentry","Sentry service provider for AdonisJS v7.","i-tabler-bug","https:\u002F\u002Fgithub.com\u002Feienjs\u002Fadonisjs-sentry",{"name":943,"title":944,"description":945,"icon":141,"category":946,"repo":947,"docs":22},"eslint-config","ESLint Config","The EienJS ESLint config preset.","tooling","https:\u002F\u002Fgithub.com\u002Feienjs\u002Feslint-config",{"name":949,"title":950,"description":951,"icon":952,"category":946,"repo":953,"docs":22},"adonisjs-pkg-boilerplate","Package Boilerplate","A boilerplate for creating AdonisJS packages.","i-tabler-package","https:\u002F\u002Fgithub.com\u002Feienjs\u002Fadonisjs-pkg-boilerplate","data\u002Fpackages","5fILU7Jigsw2ib-NQg4Fr4sWgIkg0kLgpVm371gTzVY",1793868428410]