[{"data":1,"prerenderedAt":345},["ShallowReactive",2],{"navigation_docs":3,"-organizations-authentication-providers":264,"-organizations-authentication-providers-surround":340},[4,24,44,170],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":23},"Quickstart","i-lucide-rocket","\u002Fgetting-started","01.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","01.getting-started\u002F01.introduction",{"title":15,"path":16,"stem":17},"Quick Start","\u002Fgetting-started\u002Fquick-start","01.getting-started\u002F02.quick-start",{"title":19,"path":20,"stem":21,"icon":22},"Local-Only Setup","\u002Fgetting-started\u002Flocal-only-setup","01.getting-started\u002F03.local-only-setup","i-lucide-laptop",false,{"title":25,"icon":26,"path":27,"stem":28,"children":29,"page":23},"Organizations","i-lucide-building","\u002Forganizations","02.organizations",[30,34,39],{"title":31,"path":32,"stem":33,"icon":26},"Overview","\u002Forganizations\u002Foverview","02.organizations\u002F01.overview",{"title":35,"path":36,"stem":37,"icon":38},"Auth Providers","\u002Forganizations\u002Fauthentication-providers","02.organizations\u002F02.authentication-providers","i-lucide-key-round",{"title":40,"path":41,"stem":42,"icon":43},"Okta SSO Setup","\u002Forganizations\u002Fokta-sso-setup","02.organizations\u002F03.okta-sso-setup","i-lucide-shield-check",{"title":45,"icon":46,"path":47,"stem":48,"children":49,"page":23},"Apps","i-lucide-app-window","\u002Fapps","03.apps",[50,67,88,121,130,150,155],{"title":51,"icon":52,"path":53,"stem":54,"children":55,"page":23},"Structure","i-lucide-folder-tree","\u002Fapps\u002Fapplication-structure","03.apps\u002F03.application-structure",[56,59,63],{"title":31,"path":57,"stem":58},"\u002Fapps\u002Fapplication-structure\u002Foverview","03.apps\u002F03.application-structure\u002F01.overview",{"title":60,"path":61,"stem":62},"Applications and Projects","\u002Fapps\u002Fapplication-structure\u002Fapplications-and-projects","03.apps\u002F03.application-structure\u002F02.applications-and-projects",{"title":64,"path":65,"stem":66},"Artifact Types","\u002Fapps\u002Fapplication-structure\u002Fartifact-types","03.apps\u002F03.application-structure\u002F03.artifact-types",{"title":68,"icon":69,"path":70,"stem":71,"children":72,"page":23},"Services","i-lucide-network","\u002Fapps\u002Fservices","03.apps\u002F04.services",[73,76,80,84],{"title":31,"path":74,"stem":75},"\u002Fapps\u002Fservices\u002Foverview","03.apps\u002F04.services\u002F01.overview",{"title":77,"path":78,"stem":79},"Publishing Services","\u002Fapps\u002Fservices\u002Fpublishing-services","03.apps\u002F04.services\u002F02.publishing-services",{"title":81,"path":82,"stem":83},"Service Proxies","\u002Fapps\u002Fservices\u002Fservice-proxies","03.apps\u002F04.services\u002F03.service-proxies",{"title":85,"path":86,"stem":87},"Streaming","\u002Fapps\u002Fservices\u002Fstreaming","03.apps\u002F04.services\u002F04.streaming",{"title":89,"icon":90,"path":91,"stem":92,"children":93,"page":23},"Persistence","i-lucide-database","\u002Fapps\u002Fpersistence","03.apps\u002F05.persistence",[94,97,101,105,109,113,117],{"title":31,"path":95,"stem":96},"\u002Fapps\u002Fpersistence\u002Foverview","03.apps\u002F05.persistence\u002F01.overview",{"title":98,"path":99,"stem":100},"Defining Entities","\u002Fapps\u002Fpersistence\u002Fdefining-entities","03.apps\u002F05.persistence\u002F02.defining-entities",{"title":102,"path":103,"stem":104},"Entity Decorators","\u002Fapps\u002Fpersistence\u002Fentity-decorators","03.apps\u002F05.persistence\u002F03.entity-decorators",{"title":106,"path":107,"stem":108},"CRUD Operations","\u002Fapps\u002Fpersistence\u002Fcrud-operations","03.apps\u002F05.persistence\u002F04.crud-operations",{"title":110,"path":111,"stem":112},"Named Queries","\u002Fapps\u002Fpersistence\u002Fnamed-queries","03.apps\u002F05.persistence\u002F05.named-queries",{"title":114,"path":115,"stem":116},"Multi-Tenancy","\u002Fapps\u002Fpersistence\u002Fmulti-tenancy","03.apps\u002F05.persistence\u002F06.multi-tenancy",{"title":118,"path":119,"stem":120},"Migrations","\u002Fapps\u002Fpersistence\u002Fmigrations","03.apps\u002F05.persistence\u002F07.migrations",{"title":122,"icon":43,"path":123,"stem":124,"children":125,"page":23},"Security","\u002Fapps\u002Fsecurity","03.apps\u002F06.security",[126],{"title":127,"path":128,"stem":129,"icon":38},"Authentication","\u002Fapps\u002Fsecurity\u002Fauthentication","03.apps\u002F06.security\u002F01.authentication",{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":23},"Deployment","i-lucide-cloud-upload","\u002Fapps\u002Fdeployment","03.apps\u002F07.deployment",[136,141,146],{"title":137,"path":138,"stem":139,"icon":140},"Deployment Workflow","\u002Fapps\u002Fdeployment\u002Fworkflow","03.apps\u002F07.deployment\u002F01.workflow","i-lucide-git-branch",{"title":142,"path":143,"stem":144,"icon":145},"Environments","\u002Fapps\u002Fdeployment\u002Fenvironments","03.apps\u002F07.deployment\u002F02.environments","i-lucide-server",{"title":147,"path":148,"stem":149,"icon":6},"Push to Deploy","\u002Fapps\u002Fdeployment\u002Fpush-to-deploy","03.apps\u002F07.deployment\u002F03.push-to-deploy",{"title":151,"path":152,"stem":153,"icon":154},"CLI Reference","\u002Fapps\u002Fcli-reference","03.apps\u002F08.cli-reference","i-lucide-terminal",{"title":156,"icon":157,"path":158,"stem":159,"children":160,"page":23},"Reference","i-lucide-book-open","\u002Fapps\u002Freference","03.apps\u002F09.reference",[161,166],{"title":162,"path":163,"stem":164,"icon":165},"Decorators Reference","\u002Fapps\u002Freference\u002Fdecorators","03.apps\u002F09.reference\u002F01.decorators","i-lucide-at-sign",{"title":167,"path":168,"stem":169,"icon":90},"Migration SQL Grammar","\u002Fapps\u002Freference\u002Fmigration-sql-grammar","03.apps\u002F09.reference\u002F02.migration-sql-grammar",{"title":171,"icon":145,"path":172,"stem":173,"children":174,"page":23},"Kinotic OS","\u002Fplatform","04.platform",[175,180,184,189,193,198,202,207,212,217,222,227,249,254,259],{"title":176,"path":177,"stem":178,"icon":179},"System Architecture","\u002Fplatform\u002Farchitecture","04.platform\u002F01.architecture","i-lucide-boxes",{"title":181,"path":182,"stem":183,"icon":6},"Deployment Guide","\u002Fplatform\u002Fdeployment-guide","04.platform\u002F02.deployment-guide",{"title":185,"path":186,"stem":187,"icon":188},"Configuration","\u002Fplatform\u002Fconfiguration","04.platform\u002F03.configuration","i-lucide-settings",{"title":190,"path":191,"stem":192,"icon":26},"Organization Management","\u002Fplatform\u002Forganization-management","04.platform\u002F04.organization-management",{"title":194,"path":195,"stem":196,"icon":197},"System Security","\u002Fplatform\u002Fsystem-security","04.platform\u002F05.system-security","i-lucide-shield",{"title":199,"path":200,"stem":201,"icon":43},"Defense in Depth","\u002Fplatform\u002Fdefense-in-depth","04.platform\u002F06.defense-in-depth",{"title":203,"path":204,"stem":205,"icon":206},"MCP Tools","\u002Fplatform\u002Fmcp-tools","04.platform\u002F07.mcp-tools","i-lucide-bot",{"title":208,"path":209,"stem":210,"icon":211},"Observability","\u002Fplatform\u002Fobservability","04.platform\u002F08.observability","i-lucide-activity",{"title":213,"path":214,"stem":215,"icon":216},"Contributing","\u002Fplatform\u002Fcontributing","04.platform\u002F09.contributing","i-lucide-git-pull-request",{"title":218,"path":219,"stem":220,"icon":221},"System Migrations","\u002Fplatform\u002Fsystem-migrations","04.platform\u002F10.system-migrations","i-lucide-database-zap",{"title":223,"path":224,"stem":225,"icon":226},"Service Call Liveness","\u002Fplatform\u002Fservice-call-liveness","04.platform\u002F11.service-call-liveness","i-lucide-heart-pulse",{"title":156,"icon":157,"path":228,"stem":229,"children":230,"page":23},"\u002Fplatform\u002Freference","04.platform\u002F12.reference",[231,236,241,245],{"title":232,"path":233,"stem":234,"icon":235},"CRI Format","\u002Fplatform\u002Freference\u002Fcri-format","04.platform\u002F12.reference\u002F01.cri-format","i-lucide-link",{"title":237,"path":238,"stem":239,"icon":240},"Grind Jobs","\u002Fplatform\u002Freference\u002Fgrind-jobs","04.platform\u002F12.reference\u002F02.grind-jobs","i-lucide-workflow",{"title":242,"path":243,"stem":244,"icon":179},"Project Publishing Design","\u002Fplatform\u002Freference\u002Fproject-publishing-design","04.platform\u002F12.reference\u002F03.project-publishing-design",{"title":246,"path":247,"stem":248,"icon":38},"Sign-In Design","\u002Fplatform\u002Freference\u002Fsign-in-design","04.platform\u002F12.reference\u002F04.sign-in-design",{"title":250,"path":251,"stem":252,"icon":253},"Development Server","\u002Fplatform\u002Fdevelopment-server","04.platform\u002F13.development-server","i-lucide-server-cog",{"title":255,"path":256,"stem":257,"icon":258},"Supply Chain Security","\u002Fplatform\u002Fsupply-chain-security","04.platform\u002F14.supply-chain-security","i-lucide-package-check",{"title":260,"path":261,"stem":262,"icon":263},"Enterprise License","\u002Fplatform\u002Fenterprise-license","04.platform\u002F15.enterprise-license","i-lucide-badge-check",{"id":265,"title":266,"body":267,"description":333,"extension":334,"links":335,"meta":336,"navigation":337,"path":36,"seo":338,"stem":37,"__hash__":339},"docs\u002F02.organizations\u002F02.authentication-providers.md","Authentication Providers",{"type":268,"value":269,"toc":327},"minimark",[270,279,290,295,298,311,314,318],[271,272,273,274,278],"p",{},"An ",[275,276,277],"strong",{},"authentication provider"," is an identity provider, such as Okta or a Microsoft Entra ID directory, that your organization's members use to sign in to the Kinotic portal.",[271,280,281,282,285,286,289],{},"You add providers in the Kinotic portal under ",[275,283,284],{},"Organization settings > Authentication providers",". Each provider is offered on your organization's login page once its ",[275,287,288],{},"callback URL"," is registered at the provider.",[291,292,294],"h2",{"id":293},"setup-order","Setup order",[271,296,297],{},"Every provider follows the same order:",[299,300,301,305,308],"ol",{},[302,303,304],"li",{},"Create an application (client) registration at the provider and note its client ID and secret.",[302,306,307],{},"Add the provider in Kinotic. Kinotic creates the configuration and shows its exact callback URL.",[302,309,310],{},"Register that callback URL as a redirect URI at the provider.",[271,312,313],{},"The callback URL contains the configuration's id, which is only created when you first save the provider in Kinotic. That is why the provider registration is created first with a placeholder redirect URI and updated afterwards.",[291,315,317],{"id":316},"guides","Guides",[319,320,321],"ul",{},[302,322,323],{},[324,325,326],"a",{"href":41},"Okta SSO setup",{"title":328,"searchDepth":329,"depth":329,"links":330},"",2,[331,332],{"id":293,"depth":329,"text":294},{"id":316,"depth":329,"text":317},"Let your organization's members sign in to the Kinotic portal with your own identity provider.","md",null,{},{"title":35,"icon":38},{"title":266,"description":333},"EZEN_EACm1bUW6GAlGEwU1XpQFuwCjF1jgLM3cxS4do",[341,343],{"title":31,"path":32,"stem":33,"description":342,"icon":26,"children":-1},"Set up a Kinotic organization -- its members, how they sign in, and the Apps it builds.",{"title":40,"path":41,"stem":42,"description":344,"icon":43,"children":-1},"Configure Okta as a single sign-on provider for your Kinotic organization.",1792934223830]