[{"data":1,"prerenderedAt":119},["ShallowReactive",2],{"docs:doc:\u002Fen\u002Fdocs\u002Freference":3,"docs:pages:docs_en":48},{"id":4,"title":5,"alt":6,"body":7,"description":37,"extension":38,"key":39,"meta":40,"navigation":41,"order":42,"path":43,"placeholder":44,"seo":45,"stem":46,"__hash__":47},"docs_en\u002Fen\u002Fdocs\u002Freference\u002Findex.md","Reference","\u002Fpl\u002Fdocs\u002Freferencje",{"type":8,"value":9,"toc":33},"minimark",[10,14],[11,12,13],"p",{},"Reference material is still being written. Two things are already published by\nthe platform itself and are always current, because they are generated from the\nrunning service:",[15,16,17,26],"ul",{},[18,19,20,21,25],"li",{},"The OpenID Connect discovery document for an environment, at\n",[22,23,24],"code",{},"{issuer}\u002F.well-known\u002Fopenid-configuration",", and the key set it points to.",[18,27,28,29,32],{},"The OpenAPI document for the management API, at\n",[22,30,31],{},"https:\u002F\u002Fapi.kleora.io\u002Fapi\u002Fv1\u002Fopenapi.json",".",{"title":34,"searchDepth":35,"depth":35,"links":36},"",3,[],"Reference material for the HTTP APIs and the SDK packages.","md","reference\u002Findex",{},true,30,"\u002Fen\u002Fdocs\u002Freference",false,{"title":5,"description":37},"en\u002Fdocs\u002Freference\u002Findex","KA61DGqVxjAllwpCocJ5E8dtv--mlkXkCJ7qJyqOlNs",[49,55,61,66,71,76,81,86,92,97,102,107,113,118],{"path":50,"title":51,"description":52,"order":53,"key":54},"\u002Fen\u002Fdocs\u002Fgetting-started","Getting started","From an empty project to a working sign-in, and the packages that get you there.",10,"getting-started\u002Findex",{"path":56,"title":57,"description":58,"order":59,"key":60},"\u002Fen\u002Fdocs\u002Fgetting-started\u002Finstallation","Installing an SDK","The five packages we publish, what each one is for, and the configuration each one takes.",20,"getting-started\u002Finstallation",{"path":62,"title":63,"description":64,"order":53,"key":65},"\u002Fen\u002Fdocs\u002Fgetting-started\u002Fquickstart","Quickstart","Create an App, wire up the browser SDK, and sign in for the first time — entirely in sandbox.","getting-started\u002Fquickstart",{"path":67,"title":68,"description":69,"order":42,"key":70},"\u002Fen\u002Fdocs\u002Fguides\u002Farchitecture","How Kleora is put together","The shape of the hosted service — one address per environment, two API surfaces, and where state lives. And why self-hosting is not something we support today.","guides\u002Farchitecture",{"path":72,"title":73,"description":74,"order":59,"key":75},"\u002Fen\u002Fdocs\u002Fguides\u002Fconcepts","Workspaces, roles and environments","The five words the product is built from, which of them your tokens carry, and how a change to a role reaches a running application.","guides\u002Fconcepts",{"path":77,"title":78,"description":79,"order":59,"key":80},"\u002Fen\u002Fdocs\u002Fguides","Guides","Wiring Kleora into your stack, the words the product uses, and how the hosted service is put together.","guides\u002Findex",{"path":82,"title":83,"description":84,"order":53,"key":85},"\u002Fen\u002Fdocs\u002Fguides\u002Fquickstarts\u002Fbrowser","Plain browser","One client instance, one callback route, and an access token for every request your application makes.","guides\u002Fquickstarts\u002Fbrowser",{"path":87,"title":88,"description":89,"order":90,"key":91},"\u002Fen\u002Fdocs\u002Fguides\u002Fquickstarts\u002Fexpress","Express","Verifying the access token on your own API — middleware, permissions, and the three answers a refusal can have.",40,"guides\u002Fquickstarts\u002Fexpress",{"path":93,"title":94,"description":95,"order":53,"key":96},"\u002Fen\u002Fdocs\u002Fguides\u002Fquickstarts","Framework quickstarts","One page per stack — Next.js, Nuxt, Express and the plain browser — and the two redirect URIs all of them share.","guides\u002Fquickstarts\u002Findex",{"path":98,"title":99,"description":100,"order":59,"key":101},"\u002Fen\u002Fdocs\u002Fguides\u002Fquickstarts\u002Fnextjs","Next.js","The browser SDK in an App Router application — a lazy client, a callback route, and token verification in a route handler.","guides\u002Fquickstarts\u002Fnextjs",{"path":103,"title":104,"description":105,"order":42,"key":106},"\u002Fen\u002Fdocs\u002Fguides\u002Fquickstarts\u002Fnuxt","Nuxt","The Nuxt module — two lines of config, a callback page you do not write, and a route middleware that protects a page from its own meta.","guides\u002Fquickstarts\u002Fnuxt",{"path":108,"title":109,"description":110,"order":111,"key":112},"\u002Fen\u002Fdocs","Kleora documentation","Add hosted sign-in to your application, verify the token on your API, and manage users, workspaces and roles from one console.",0,"index",{"path":114,"title":115,"description":116,"order":53,"key":117},"\u002Fen\u002Fdocs\u002Freference\u002Fcode-highlighting","Code highlighting","One fence per preloaded Shiki grammar — a fixture, not a reference page.","reference\u002Fcode-highlighting",{"path":43,"title":5,"description":37,"order":42,"key":39},1790698197225]