Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.
SCIM (System for Cross-domain Identity Management) keeps Bifrost in sync with Okta in real time - new users are provisioned, deactivated users are suspended, and group memberships are updated without waiting for the next login or background sync.
Complete SSO using OIDC before setting up SCIM. Okta does not support SCIM on a custom OIDC app, so SCIM runs as a separate app alongside your existing OIDC integration.
In your Bifrost dashboard, go to Governance → User Provisioning and open your configured Okta provider.
The Okta provider dashboard showing your connection details and attribute mappings.
2
Enable SCIM provisioning
Click the settings icon to open Provider Configuration.Toggle on Enable SCIM Provisioning and click Save & Enable.
Enable SCIM Provisioning in Provider Configuration - the SCIM endpoint URL and token are generated after saving.
3
Copy the SCIM credentials
After saving, Bifrost shows a Setup Complete dialog with:
SCIM Endpoint URL - the base URL Okta will send provisioning requests to
Provisioning Token - the bearer token Okta uses to authenticate
Copy both values now - you will need them in Step 3.
Setup Complete dialog showing the SCIM Endpoint URL and Provisioning Token.
The provisioning token is only shown once. Store it somewhere safe before closing this dialog. You can always rotate it later, but the previous token will immediately become invalid.
Alternative: seed the token declaratively (Helm / config.json)
If you manage Bifrost with Helm or a static config.json (GitOps), you can seed the Provisioning Token yourself instead of generating it in the dashboard.
This produces a URL-safe token in the same format Bifrost mints internally.
2
Add it to your SCIM config
Helm values.yaml:
bifrost: scim: enabled: true provider: "okta" config: issuerUrl: "https://your-domain.okta.com/oauth2/default" clientId: "..." clientSecret: "env.OKTA_CLIENT_SECRET" apiToken: "env.OKTA_API_TOKEN" provisioningToken: "env.SCIM_PROVISIONING_TOKEN" # or the literal token claimScimAttributes: # per-claim SCIM interpretation groups: attributeType: "group" # "user" (SCIM User attribute) or "group" (match SCIM Group) attributeValue: "displayName" claimsSyncMode: "both" # provisioning source: "both" (SCIM + login claims) or "scim" (SCIM only - ignore login claims)
The same keys (provisioningToken, claimScimAttributes, claimsSyncMode) apply directly under scim_config.config in a raw config.json.
Keep the token in a Kubernetes Secret and reference it with the env. prefix - never commit the literal value. Rotating the token in the dashboard invalidates any value seeded here.
Then use this token as the API Token and your deployment’s SCIM endpoint as the SCIM 2.0 Base URL in Step 3 - the rest of the Okta setup is identical.
The provider configuration includes a Provisioning source setting that controls whether IdP login claims still provision users, or whether SCIM is the sole source of truth:
The Provisioning source setting in the provider configuration - choose between SCIM and login claims (default) or SCIM only.
Option
Config value
Behavior
SCIM and login claims (default)
both
Both SCIM and IdP login / token-refresh claims create and update users, roles, teams, and business units.
SCIM only - ignore login claims
scim
SCIM is the sole source of truth. OIDC claims will be ignored and will never create or update users from claims - new users must be pushed by SCIM. At login, a user is admitted only if what SCIM last pushed for them resolves to a role, even if they already hold one; anyone SCIM hasn’t pushed yet is denied.
Choose SCIM only when provisioning must be fully controlled by your IdP’s SCIM app and login-time claim changes should never alter membership. Leave it on the default SCIM and login claims if users are also provisioned just-in-time on first login.This maps to the claimsSyncMode config key (both or scim) and is inert when SCIM Provisioning is disabled - claims always sync then.
In the Okta Admin Console, go to Applications → Applications and click Browse App Catalog.
Click Browse App Catalog from the Applications page.
2
Add the SCIM 2.0 Test App
Search for SCIM 2.0 Test App (Header Auth) and add it.
Select SCIM 2.0 Test App (Header Auth) from the catalog.
Name the app Bifrost SCIM (or any label you prefer). On the sign-on options screen, skip everything and click Done - this app is used for SCIM provisioning only, not authentication.
Custom attributes need to be declared in the SCIM app schema before Okta can include them in provisioning payloads.Go to Directory → Profile Editor and select the Bifrost SCIM app profile. Click Add Attribute.
Profile Editor for the Bifrost SCIM app - click Add Attribute to declare a new custom field.
Configure the attribute - for example, for Employee ID:
Add Attribute dialog - the External name is what Bifrost receives and must match exactly what you configure in Bifrost's SCIM attribute settings.
Click Save, then click Mappings on the Bifrost SCIM profile.
Click Mappings on the Bifrost SCIM profile to open the attribute mapping view.
Select the Okta User → Bifrost SCIM tab.
Okta User to Bifrost SCIM mapping direction - map each Okta profile field to the corresponding SCIM attribute.
Scroll to find your attribute and set its source from the Okta user profile - e.g. user.employeeNumber → employeeID. Click Save Mappings.
Mapping user.employeeID from the Okta user profile to the employeeID SCIM attribute.
Back in Bifrost, go to Attribute Mapping in the provider setup and add a SCIM Attribute entry for employeeID. The External name you set in Okta must match this exactly.
In Bifrost's Attribute Mapping step, add the custom SCIM attribute using the same External name configured in Okta.
The External name in Okta’s Profile Editor and the SCIM attribute name in Bifrost must match exactly - including case.
Go to the Assignments tab in the Bifrost SCIM app.Click Assign → Assign to People or Assign to Groups and select the users or groups to sync with Bifrost.
Assign users or groups from the Assignments tab - users are pushed to Bifrost immediately on assignment.
Assigned users are pushed to Bifrost immediately. When a user is unassigned or deactivated in Okta, Bifrost deactivates them in real time.
2
Push groups (for team and BU mapping)
If you use group membership to drive Bifrost team or business unit assignments, you need to push the groups themselves - not just the users in them.Go to the Push Groups tab in the Bifrost SCIM app and click Push Groups.You can push groups by name (search for specific groups) or by rule (create a filter that automatically pushes any matching groups - useful if your groups follow a naming convention like Bifrost-*).
Push Groups tab - choose to find groups by name or create a rule to push all matching groups automatically.
Push by rule - set a filter (e.g. Group name starts with 'Bifrost') to automatically push all matching groups.
Once groups are pushed and showing as Active, Bifrost tracks their membership in real time.
Pushed groups showing as Active - Bifrost now tracks membership changes for these groups in real time.
In Bifrost, configure Attribute-to-Team or Attribute-to-Business Unit mappings using the group displayName as the match value to automatically assign users to teams or business units based on their group membership.
Real-time push - Okta pushes user and group changes to Bifrost immediately when they occur.No background reconciliation while SCIM Provisioning is on - even if you configured an API token in SSO using OIDC Step 4, Bifrost’s scheduled directory sync is turned off while SCIM Provisioning is enabled. Make sure Okta pushes every change, including deactivations.
Test API Credentials fails - verify the SCIM Base URL has no trailing slash and the API token matches exactly what Bifrost generated. Rotate the token in Bifrost and update Okta if needed.Users are pushed but have no role - SCIM provisions the user record; role assignment comes from attribute mappings in the OIDC provider. Confirm your Attribute-to-Role mappings are set and the relevant claims are present in the JWT.Custom attribute is not arriving in Bifrost - confirm the External name in Okta’s Profile Editor matches the SCIM attribute name in Bifrost exactly (case-sensitive). Also verify the Okta User → Bifrost SCIM mapping direction is saved.Group membership is not syncing - ensure groups are added under Push Groups, not just Assignments. Assignments sync users; Push Groups syncs group membership.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"Bifrost","colors":{"primary":"#0C3B43","light":"#07C983"},"logo":{"light":"https://mintcdn.com/bifrost/qFMmk8bNSnvgFYDI/media/bifrost-logo.png?fit=max\u0026auto=format\u0026n=qFMmk8bNSnvgFYDI\u0026q=85\u0026s=6af701a560aee4103444fa017b226cf0","dark":"https://mintcdn.com/bifrost/qFMmk8bNSnvgFYDI/media/bifrost-logo-dark.png?fit=max\u0026auto=format\u0026n=qFMmk8bNSnvgFYDI\u0026q=85\u0026s=84d264aad5f421c526dd17893e7c5739"},"favicon":"https://mintcdn.com/bifrost/qFMmk8bNSnvgFYDI/favicon.ico?fit=max\u0026auto=format\u0026n=qFMmk8bNSnvgFYDI\u0026q=85\u0026s=a57bad8c37d798efcb53dca5d96d8b45","navbar":{"links":[{"href":"https://www.getmaxim.ai/enterprise?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Navbar#free-license","label":"Request License"}],"primary":{"type":"button","label":"Book a Demo","href":"https://www.getmaxim.ai/book-a-demo?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Navbar"}},"footer":{"socials":{"x":"https://x.com/getbifrost","linkedin":"https://linkedin.com/company/maxim-ai","github":"https://github.com/maximhq/bifrost"},"links":[{"header":"Company","items":[{"label":"Book a Demo","href":"https://www.getmaxim.ai/book-a-demo?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Partner Program","href":"https://www.getmaxim.ai/partners-program?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Careers","href":"https://www.getmaxim.ai/careers?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Contact Us","href":"mailto:[email protected]"},{"label":"Security","href":"https://docs.getbifrost.ai/security"},{"label":"Trust Center","href":"https://trust.getmaxim.ai/"},{"label":"Terms of Service","href":"https://www.getmaxim.ai/terms-of-service?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Privacy Policy","href":"https://www.getmaxim.ai/privacy-policy?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"}]},{"header":"Products","items":[{"label":"LLM Gateway","href":"https://www.getmaxim.ai/llm-gateway?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"MCP Gateway","href":"https://www.getmaxim.ai/mcp-gateway?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Governance","href":"https://www.getmaxim.ai/ai-governance?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Guardrails","href":"https://www.getmaxim.ai/ai-guardrails?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Observability","href":"https://www.getmaxim.ai/ai-observability?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Bifrost Edge","href":"https://www.getmaxim.ai/edge?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"}]},{"header":"Resources","items":[{"label":"Bifrost Enterprise","href":"https://www.getmaxim.ai/enterprise?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Performance Benchmarks","href":"https://www.getmaxim.ai/bifrost/resources/benchmarks?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"LLM Gateway Buyer's Guide","href":"https://www.getmaxim.ai/bifrost/resources/buyers-guide?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Claude Code Integration","href":"https://www.getmaxim.ai/bifrost/resources/claude-code?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Migrating from LiteLLM","href":"https://www.getmaxim.ai/bifrost/resources/migrating-from-litellm?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"},{"label":"Blogs","href":"https://www.getmaxim.ai/bifrost/blog?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"}]},{"header":"For LLMs","items":[{"label":"llms-full.txt","href":"https://docs.getbifrost.ai/llms-full.txt"},{"label":"llms.txt","href":"https://docs.getbifrost.ai/llms.txt"},{"label":"llm-info","href":"https://www.getmaxim.ai/llm-info?utm_source=bifrost_docs\u0026utm_medium=Bifrost_Footer"}]}]},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Discord","icon":"discord","href":"https://discord.gg/exN5KAydbU"},{"anchor":"GitHub","icon":"github","href":"https://github.com/maximhq/bifrost"},{"anchor":"Try Enterprise","icon":"building","href":"https://www.getmaxim.ai/bifrost/enterprise"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bifrost","hasAudioNarration":false,"actualSubdomain":"bifrost","customDomains":["docs.getbifrost.ai"],"gitSource":{"type":"github","owner":"maximhq","repo":"bifrost","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeed513608c3fccf611e61c","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API","count":690},{"language":"default","tag":"Changelogs","count":322},{"language":"default","tag":"Integrations","count":252},{"language":"default","tag":"Platform","count":237},{"language":"default","tag":"Open Source","count":165},{"language":"default","tag":"OSS","count":152},{"language":"default","tag":"Governance","count":132},{"language":"default","tag":"Enterprise","count":107},{"language":"default","tag":"Helm","count":77},{"language":"default","tag":"Inference","count":71}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".nav-logo{height:1.50rem}div:has(>nav[aria-label=\"Main\"]){gap:1.5rem}nav[aria-label=\"Main\"]>ul{gap:1rem}nav[aria-label=\"Main\"] a[href*=\"book-a-demo\"]{padding:0.4375rem 0.625rem}nav[aria-label=\"Main\"] a[href*=\"book-a-demo\"] svg{display:none}div:has(>nav[aria-label=\"Main\"])>*,nav[aria-label=\"Main\"]>ul>*{margin-inline:0}nav[aria-label=\"Main\"] .navbar-link a[href*=\"#free-license\"]{display:inline-flex;align-items:center;border:1px solid rgb(var(--primary-dark));border-radius:0.75rem;box-sizing:border-box;padding:calc(0.4375rem - 1px) 0.625rem;color:rgb(var(--primary-dark));background:transparent;font-size:0.875rem;font-weight:500;line-height:1.25rem}nav[aria-label=\"Main\"] .navbar-link a[href*=\"#free-license\"]:hover{background-color:rgb(var(--primary-dark) / 0.1)}.dark nav[aria-label=\"Main\"] .navbar-link a[href*=\"#free-license\"]{border-color:rgb(var(--primary-light));color:rgb(var(--primary-light))}.dark nav[aria-label=\"Main\"] .navbar-link a[href*=\"#free-license\"]:hover{background-color:rgb(var(--primary-light) / 0.12)}#sidebar-group>li>button>div{line-height:normal}.footer-compliance{display:flex;align-items:center;flex-wrap:wrap;gap:0.5rem;max-width:100%}.footer-compliance img{width:2.5rem;height:2.5rem;flex:none;object-fit:contain}@media (max-width: 767px){footer.advanced-footer>div>div:first-child>div:first-child{flex-direction:column;align-items:flex-start;justify-content:flex-start;row-gap:1rem;width:100%;height:auto}footer.advanced-footer>div>div:first-child>div:first-child>div:last-child{justify-content:flex-start;min-width:0;max-width:100%}footer.advanced-footer>div>div:first-child>div:last-child,footer.advanced-footer>div>div:first-child>div:last-child>div,footer.advanced-footer a[class*=\"truncate\"]{white-space:normal!important}}@media (min-width: 768px){footer.advanced-footer>div>div:first-child{justify-content:flex-start;column-gap:3rem}footer.advanced-footer>div>div:first-child>div:first-child{min-width:0;justify-content:flex-start;align-items:flex-start;row-gap:1.25rem}footer.advanced-footer>div>div:first-child>div:first-child>div:last-child{margin-top:auto}footer.advanced-footer>div>div:first-child>div:last-child{flex:0 1 auto;justify-content:start;grid-template-columns:repeat(4, max-content)!important;column-gap:4rem!important}footer.advanced-footer>div>div:first-child>div:last-child>div{align-items:flex-start;width:auto;flex:none}footer.advanced-footer a[class*=\"truncate\"]{max-width:none!important;overflow:visible!important;text-overflow:unset!important;white-space:nowrap!important}}"}],"page":{"pagePath":"enterprise/setting-up-okta/scim","slug":"/enterprise/setting-up-okta/scim","pageMetadata":{"title":"Setup SCIM","description":"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.","href":"/enterprise/setting-up-okta/scim"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`SCIM (System for Cross-domain Identity Management) keeps Bifrost in sync with Okta in real time - new users are provisioned, deactivated users are suspended, and group memberships are updated without waiting for the next login or background sync.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Complete `,_jsx(_components.a,{href:`/enterprise/setting-up-okta/oidc`,children:`SSO using OIDC`}),` before setting up SCIM. Okta does not support SCIM on a custom OIDC app, so SCIM runs as a `,_jsx(_components.strong,{children:`separate`}),` app alongside your existing OIDC integration.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-enable-scim-in-bifrost`,children:`Step 1: Enable SCIM in Bifrost`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open your Okta provider`,children:[_jsxs(_components.p,{children:[`In your Bifrost dashboard, go to `,_jsx(_components.strong,{children:`Governance`}),` → `,_jsx(_components.strong,{children:`User Provisioning`}),` and open your configured Okta provider.`]}),_jsx(Frame,{caption:`The Okta provider dashboard showing your connection details and attribute mappings.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-provider-setting.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=cb767653c96453f674a12975a4a9a88f`,alt:`Bifrost Okta provider dashboard showing connection details and attribute mappings`,\"data-og-width\":`2916`,width:`2916`,\"data-og-height\":`1672`,height:`1672`,\"data-path\":`media/user-provisioning/okta/bifrost-provider-setting.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-provider-setting.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=a5a1ca43cc456526b9a481186dce680a 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-provider-setting.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=1b05225a93fa2edf50831fbaa8a57a6d 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-provider-setting.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=7abcf9e10b48d281cd8945bc9f3c548a 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-provider-setting.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=5fdb11cff56dde383d2af5791584e931 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-provider-setting.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=820d2349f7540fba5c7bca5648e51782 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-provider-setting.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=c9ff0f79e710578e6b25ed5a6a0e475a 2500w`})})]}),_jsxs(Step,{title:`Enable SCIM provisioning`,children:[_jsxs(_components.p,{children:[`Click the settings icon to open `,_jsx(_components.strong,{children:`Provider Configuration`}),`.`]}),_jsxs(_components.p,{children:[`Toggle on `,_jsx(_components.strong,{children:`Enable SCIM Provisioning`}),` and click `,_jsx(_components.strong,{children:`Save \u0026 Enable`}),`.`]}),_jsx(Frame,{caption:`Enable SCIM Provisioning in Provider Configuration - the SCIM endpoint URL and token are generated after saving.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-enable-scim.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=90e7821fe9fdbdea01fb95b3637e79d5`,alt:`Bifrost Provider Configuration with Enable SCIM Provisioning toggle turned on`,\"data-og-width\":`2916`,width:`2916`,\"data-og-height\":`1674`,height:`1674`,\"data-path\":`media/user-provisioning/okta/bifrost-enable-scim.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-enable-scim.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=9a4c133b43ae2cb15669cc40d31f936b 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-enable-scim.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=2a5da3043b853e65100fc0f31e6e47a8 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-enable-scim.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=78aba0859b28426cf508ab31ce2d3b65 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-enable-scim.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=983dacdf9c98c8c7645534fe178be621 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-enable-scim.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=4e07f399c9e3b8bec652e4548bd42972 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-enable-scim.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=ea37fd9c1410c3b3f05a77c0aaa3467d 2500w`})})]}),_jsxs(Step,{title:`Copy the SCIM credentials`,children:[_jsxs(_components.p,{children:[`After saving, Bifrost shows a `,_jsx(_components.strong,{children:`Setup Complete`}),` dialog with:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SCIM Endpoint URL`}),` - the base URL Okta will send provisioning requests to`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Provisioning Token`}),` - the bearer token Okta uses to authenticate`]}),`\n`]}),_jsxs(_components.p,{children:[`Copy both values now - you will need them in `,_jsx(_components.a,{href:`#step-3-configure-the-scim-app`,children:`Step 3`}),`.`]}),_jsx(Frame,{caption:`Setup Complete dialog showing the SCIM Endpoint URL and Provisioning Token.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=fb4b9436ccfe183c09819ea4d3995baf`,alt:`Bifrost Setup Complete dialog displaying the SCIM Endpoint URL and one-time Provisioning Token`,\"data-og-width\":`2916`,width:`2916`,\"data-og-height\":`1674`,height:`1674`,\"data-path\":`media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=42cda5313d7fe920e480e62746e6d9e2 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=cad971f94aff8ec23f8594054670fb9a 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=332288416d2280699ed985cdb938ae92 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=8c29342a34d51ebc89abdf3caa18c6d4 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=f5fc86c02c4154992e71daf980c3128a 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-scim-provisioning-token-dialog.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=215ecdac67f5cd26520dc0b6db5b61c4 2500w`})}),_jsx(Warning,{children:_jsx(_components.p,{children:`The provisioning token is only shown once. Store it somewhere safe before closing this dialog. You can always rotate it later, but the previous token will immediately become invalid.`})})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`alternative-seed-the-token-declaratively-helm-/-config-json`,children:`Alternative: seed the token declaratively (Helm / config.json)`}),`\n`,_jsxs(_components.p,{children:[`If you manage Bifrost with Helm or a static `,_jsx(_components.code,{children:`config.json`}),` (GitOps), you can seed the `,_jsx(_components.strong,{children:`Provisioning Token`}),` yourself instead of generating it in the dashboard.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Generate a token`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rand`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -base64`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 32`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` tr`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '+/'`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '-_'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` tr`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '='`})]}),`\n`]})})}),_jsx(_components.p,{children:`This produces a URL-safe token in the same format Bifrost mints internally.`})]}),_jsxs(Step,{title:`Add it to your SCIM config`,children:[_jsxs(_components.p,{children:[`Helm `,_jsx(_components.code,{children:`values.yaml`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`bifrost`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` scim`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` enabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` provider`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"okta\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` issuerUrl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://your-domain.okta.com/oauth2/default\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` clientId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"...\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` clientSecret`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"env.OKTA_CLIENT_SECRET\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` apiToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"env.OKTA_API_TOKEN\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` provisioningToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"env.SCIM_PROVISIONING_TOKEN\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # or the literal token`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` claimScimAttributes`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# per-claim SCIM interpretation`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` groups`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` attributeType`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"group\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # \"user\" (SCIM User attribute) or \"group\" (match SCIM Group)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` attributeValue`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"displayName\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` claimsSyncMode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"both\"`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # provisioning source: \"both\" (SCIM + login claims) or \"scim\" (SCIM only - ignore login claims)`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`The same keys (`,_jsx(_components.code,{children:`provisioningToken`}),`, `,_jsx(_components.code,{children:`claimScimAttributes`}),`, `,_jsx(_components.code,{children:`claimsSyncMode`}),`) apply directly under `,_jsx(_components.code,{children:`scim_config.config`}),` in a raw `,_jsx(_components.code,{children:`config.json`}),`.`]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Keep the token in a Kubernetes Secret and reference it with the `,_jsx(_components.code,{children:`env.`}),` prefix - never commit the literal value. Rotating the token in the dashboard invalidates any value seeded here.`]})}),`\n`,_jsxs(_components.p,{children:[`Then use this token as the `,_jsx(_components.strong,{children:`API Token`}),` and your deployment’s SCIM endpoint as the `,_jsx(_components.strong,{children:`SCIM 2.0 Base URL`}),` in `,_jsx(_components.a,{href:`#step-3-configure-the-scim-app`,children:`Step 3`}),` - the rest of the Okta setup is identical.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`provisioning-source`,children:`Provisioning source`}),`\n`,_jsxs(_components.p,{children:[`The provider configuration includes a `,_jsx(_components.strong,{children:`Provisioning source`}),` setting that controls whether IdP login claims still provision users, or whether SCIM is the sole source of truth:`]}),`\n`,_jsx(Frame,{caption:`The Provisioning source setting in the provider configuration - choose between SCIM and login claims (default) or SCIM only.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/BA383rIWIhMH5bnQ/media/user-provisioning/scim-provisioning-source.png?fit=max\u0026auto=format\u0026n=BA383rIWIhMH5bnQ\u0026q=85\u0026s=10a69800e0241a2e9c642c36051c5155`,alt:`Provisioning source dropdown showing SCIM and login claims (default) and SCIM only - ignore login claims options`,\"data-og-width\":`1692`,width:`1692`,\"data-og-height\":`470`,height:`470`,\"data-path\":`media/user-provisioning/scim-provisioning-source.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/BA383rIWIhMH5bnQ/media/user-provisioning/scim-provisioning-source.png?w=280\u0026fit=max\u0026auto=format\u0026n=BA383rIWIhMH5bnQ\u0026q=85\u0026s=5f27ff0c082e3ef82efd8023caebab1d 280w, https://mintcdn.com/bifrost/BA383rIWIhMH5bnQ/media/user-provisioning/scim-provisioning-source.png?w=560\u0026fit=max\u0026auto=format\u0026n=BA383rIWIhMH5bnQ\u0026q=85\u0026s=94a2ab36ba31413454bb0452f0e391f6 560w, https://mintcdn.com/bifrost/BA383rIWIhMH5bnQ/media/user-provisioning/scim-provisioning-source.png?w=840\u0026fit=max\u0026auto=format\u0026n=BA383rIWIhMH5bnQ\u0026q=85\u0026s=65bc70fe3cd9423fb236065b464f3401 840w, https://mintcdn.com/bifrost/BA383rIWIhMH5bnQ/media/user-provisioning/scim-provisioning-source.png?w=1100\u0026fit=max\u0026auto=format\u0026n=BA383rIWIhMH5bnQ\u0026q=85\u0026s=ea078c261cca87de98a5e15511e707b7 1100w, https://mintcdn.com/bifrost/BA383rIWIhMH5bnQ/media/user-provisioning/scim-provisioning-source.png?w=1650\u0026fit=max\u0026auto=format\u0026n=BA383rIWIhMH5bnQ\u0026q=85\u0026s=2e9b8c841342b3d758e0f535b6a17c3e 1650w, https://mintcdn.com/bifrost/BA383rIWIhMH5bnQ/media/user-provisioning/scim-provisioning-source.png?w=2500\u0026fit=max\u0026auto=format\u0026n=BA383rIWIhMH5bnQ\u0026q=85\u0026s=f5cb5ae2fafddb47635303409a7dc695 2500w`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Option`}),_jsx(_components.th,{children:`Config value`}),_jsx(_components.th,{children:`Behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`SCIM and login claims`}),` (default)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`both`})}),_jsx(_components.td,{children:`Both SCIM and IdP login / token-refresh claims create and update users, roles, teams, and business units.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`SCIM only - ignore login claims`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`scim`})}),_jsx(_components.td,{children:`SCIM is the sole source of truth. OIDC claims will be ignored and will never create or update users from claims - new users must be pushed by SCIM. At login, a user is admitted only if what SCIM last pushed for them resolves to a role, even if they already hold one; anyone SCIM hasn’t pushed yet is denied.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Choose `,_jsx(_components.strong,{children:`SCIM only`}),` when provisioning must be fully controlled by your IdP’s SCIM app and login-time claim changes should never alter membership. Leave it on the default `,_jsx(_components.strong,{children:`SCIM and login claims`}),` if users are also provisioned just-in-time on first login.`]}),`\n`,_jsxs(_components.p,{children:[`This maps to the `,_jsx(_components.code,{children:`claimsSyncMode`}),` config key (`,_jsx(_components.code,{children:`both`}),` or `,_jsx(_components.code,{children:`scim`}),`) and is inert when SCIM Provisioning is disabled - claims always sync then.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-create-a-scim-app-in-okta`,children:`Step 2: Create a SCIM App in Okta`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Browse the App Catalog`,children:[_jsxs(_components.p,{children:[`In the Okta Admin Console, go to `,_jsx(_components.strong,{children:`Applications`}),` → `,_jsx(_components.strong,{children:`Applications`}),` and click `,_jsx(_components.strong,{children:`Browse App Catalog`}),`.`]}),_jsx(Frame,{caption:`Click Browse App Catalog from the Applications page.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-browse-app-catalog.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=99e36c2f82090ad2d338d87dbcbc6afa`,alt:`Okta Applications page with Browse App Catalog button highlighted`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1588`,height:`1588`,\"data-path\":`media/user-provisioning/okta/okta-browse-app-catalog.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-browse-app-catalog.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=8803a48602b7d50edcf7accca2d19e25 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-browse-app-catalog.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=957f91e66fe5d63373091b5a043eed5c 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-browse-app-catalog.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=c604854d1f25ff0a172366fb09e43e5a 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-browse-app-catalog.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=5ebf92e152048ac023e14a91f88aad25 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-browse-app-catalog.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=980cddd585ddbb1dce3704300dc5e0d7 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-browse-app-catalog.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=7bb31814579131dde461cceab02b7718 2500w`})})]}),_jsxs(Step,{title:`Add the SCIM 2.0 Test App`,children:[_jsxs(_components.p,{children:[`Search for `,_jsx(_components.strong,{children:`SCIM 2.0 Test App (Header Auth)`}),` and add it.`]}),_jsx(Frame,{caption:`Select SCIM 2.0 Test App (Header Auth) from the catalog.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-choose-scim-header-auth.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=df7e17eecec54f7e9102533dc3d8df9b`,alt:`Okta App Catalog search results with SCIM 2.0 Test App (Header Auth) highlighted`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-choose-scim-header-auth.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-choose-scim-header-auth.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=7af6fe0987f3d9fa213da3820da5b971 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-choose-scim-header-auth.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=cc0556c315fd6a5bdc69cb00678057fa 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-choose-scim-header-auth.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=e1a67bb2200467950f7ca4e874914139 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-choose-scim-header-auth.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=2eb333a86a7e9b153a0b857c6d494aa8 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-choose-scim-header-auth.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=b22de5cb1f33d54529e17025e760e017 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-choose-scim-header-auth.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=79be83403cd67d3ef5c828c3d6c7a840 2500w`})}),_jsxs(_components.p,{children:[`Name the app `,_jsx(_components.code,{children:`Bifrost SCIM`}),` (or any label you prefer). On the sign-on options screen, skip everything and click `,_jsx(_components.strong,{children:`Done`}),` - this app is used for SCIM provisioning only, not authentication.`]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-configure-the-scim-app`,children:`Step 3: Configure the SCIM App`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Connect the app to Bifrost`,children:[_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Bifrost SCIM`}),` app and go to the `,_jsx(_components.strong,{children:`Provisioning`}),` tab.`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Configure API Integration`}),`, check `,_jsx(_components.strong,{children:`Enable API Integration`}),`, and enter:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SCIM 2.0 Base URL`}),`: the SCIM Endpoint URL from `,_jsx(_components.a,{href:`#step-1-enable-scim-in-bifrost`,children:`Step 1`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Token`}),`: the Provisioning Token from `,_jsx(_components.a,{href:`#step-1-enable-scim-in-bifrost`,children:`Step 1`})]}),`\n`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Test API Credentials`}),` to verify the connection, then `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{caption:`Enter the SCIM Endpoint URL and Provisioning Token from Bifrost to connect the app.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-setup.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=16376272fe4785f414f11e64363e9178`,alt:`Okta SCIM app Configure API Integration dialog with Base URL and API Token fields filled in`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-scim-provisioning-setup.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-setup.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=42c6f90c1e6e876568e8ed4d11fb2a0e 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-setup.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=54955a3bb5e9af9151ec4e66879b564a 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-setup.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=7d8bc430ac148ed7fc3ff0c6b241112b 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-setup.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=8c32382f860cc6d347850e0f1d0df8e9 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-setup.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=2da9a9a1113ba8dbe896ed02a807aef0 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-setup.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=8bb7227d34fa728e9dd63e5f01dfc799 2500w`})})]}),_jsxs(Step,{title:`Enable provisioning actions`,children:[_jsxs(_components.p,{children:[`Still under the `,_jsx(_components.strong,{children:`Provisioning`}),` tab, go to `,_jsx(_components.strong,{children:`To App`}),` and enable:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Create Users`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Update User Attributes`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Deactivate Users`})}),`\n`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{caption:`Provisioning → To App - enable Create Users, Update User Attributes, and Deactivate Users.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-to-app.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=2213652297b6da3ad02ad72802731017`,alt:`Okta Provisioning To App section with Create Users, Update User Attributes, and Deactivate Users enabled`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-scim-provisioning-to-app.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-to-app.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=bd38999a936bf891d94f46becf4c3d96 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-to-app.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=737724fe2685f848f76046d21bc81a53 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-to-app.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=68e8fa61a519ebb96036681c3c5e6929 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-to-app.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=805dadca9eebfdaa6039ff5c814c5fc3 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-to-app.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=ff0e459c2527804901c7b7942b10a29b 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-provisioning-to-app.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=7ff09ebe494a61a02bdc101fed77caca 2500w`})})]}),_jsxs(Step,{title:`Add custom attributes (optional)`,children:[_jsx(_components.p,{children:`Skip this step if you only need to sync standard user fields (name, email, groups).`}),_jsxs(Accordion,{title:`Syncing custom profile attributes (e.g. employeeId, costCenter, division)`,id:`syncing-custom-profile-attributes-e-g-employeeid-costcenter-division`,children:[_jsx(_components.p,{children:`Custom attributes need to be declared in the SCIM app schema before Okta can include them in provisioning payloads.`}),_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Directory`}),` → `,_jsx(_components.strong,{children:`Profile Editor`}),` and select the `,_jsx(_components.strong,{children:`Bifrost SCIM`}),` app profile. Click `,_jsx(_components.strong,{children:`Add Attribute`}),`.`]}),_jsx(Frame,{caption:`Profile Editor for the Bifrost SCIM app - click Add Attribute to declare a new custom field.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-profile-editor-add-attribute.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=07563b437a98fcba02f03830f0a2928c`,alt:`Okta Profile Editor for the Bifrost SCIM app showing the Add Attribute and Mappings buttons`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-profile-editor-add-attribute.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-profile-editor-add-attribute.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=de3237222f99a47b80b1eecaecdbdd18 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-profile-editor-add-attribute.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=8796a27ef4097ac228c669339c677b95 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-profile-editor-add-attribute.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=ed5275a438c63a9481b21ea6390a5d33 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-profile-editor-add-attribute.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=0cf089fba33ecb9186b88649999541bf 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-profile-editor-add-attribute.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=a822470b402e961bd8e9f6ba924f701c 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-profile-editor-add-attribute.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=3900167c45e1d4473cab313e87075996 2500w`})}),_jsxs(_components.p,{children:[`Configure the attribute - for example, for `,_jsx(_components.code,{children:`Employee ID`}),`:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Display name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Employee ID`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Variable name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`employeeID`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`External name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`employeeID`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`External namespace`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`urn:ietf:params:scim:schemas:extension:enterprise:2.0:User`})})]})]})]}),_jsx(Frame,{caption:`Add Attribute dialog - the External name is what Bifrost receives and must match exactly what you configure in Bifrost's SCIM attribute settings.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-employee-id.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=9848603762ffc09986b1725e3aef1076`,alt:`Add Attribute dialog with Display name Employee ID, Variable name employeeID, and External name employeeID filled in`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-custom-attribute-employee-id.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-employee-id.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=8abb1e7a7ede36beae6d24b23bf8a265 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-employee-id.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=61f9fb4e4049cb022597eb5eed2f1c53 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-employee-id.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=2c830a1874f727114dbe24e3a3b9204a 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-employee-id.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=513016e46a9db1d1b655aebf21fb0bc1 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-employee-id.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=f1808b3de581677e66b3c342d22c29f1 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-employee-id.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=ca55df79f240b005ef38c57056465b5e 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`, then click `,_jsx(_components.strong,{children:`Mappings`}),` on the Bifrost SCIM profile.`]}),_jsx(Frame,{caption:`Click Mappings on the Bifrost SCIM profile to open the attribute mapping view.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=54ef15acb1d8da6d9bc4037c7fb043da`,alt:`Bifrost SCIM Attribute Mappings screen with Go to Profile Editor and Force Sync buttons`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=67e5b252cc69709ec5a4d322641153b1 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=0adfe6ce1eac1a02fdbfbd3154dce630 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=4ccaa3932c0575f6dec49862e2f5ea65 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=6a0b7fe6954bac7e930642e1c64e65bd 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=fa11a0211504bd0d07b728814c421504 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-custom-attribute-mapping-button.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=4723b440204a9c685417f124b05183ec 2500w`})}),_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Okta User → Bifrost SCIM`}),` tab.`]}),_jsx(Frame,{caption:`Okta User to Bifrost SCIM mapping direction - map each Okta profile field to the corresponding SCIM attribute.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=f843fe38f31233d1016e170f14ff8a42`,alt:`Okta User to Bifrost SCIM mapping direction tab showing attribute mapping fields`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-custom-attribute-mapping.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=73080d9a837ba0c7b66831b6b176d442 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=793a8d97c6df331198dba2e3d5f20898 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=7313a201d69504910fac3f4477f50de6 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=1eba5faf16c0a4e04d39ce09b6ea6cde 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=bff2e603de1462433d8c8fb56558e549 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=55a5945350e1661ba684f044a2130d98 2500w`})}),_jsxs(_components.p,{children:[`Scroll to find your attribute and set its source from the Okta user profile - e.g. `,_jsx(_components.code,{children:`user.employeeNumber`}),` → `,_jsx(_components.code,{children:`employeeID`}),`. Click `,_jsx(_components.strong,{children:`Save Mappings`}),`.`]}),_jsx(Frame,{caption:`Mapping user.employeeID from the Okta user profile to the employeeID SCIM attribute.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=3236b8e18bc53a7ddb51decff30bd19b`,alt:`Attribute mapping row showing user.employeeID mapped to the employeeID SCIM attribute`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1590`,height:`1590`,\"data-path\":`media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=e3309e6e962ed6bde4ddce0e40c64267 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=daa98a135a53628abe5e990e8469f2e6 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=9332aadb52995e6f5886bd9e3d259862 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=7d10a441efa6cbb39dd7a1e64da3c26d 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=a7da834ed4dbfe1ea1ba53e3ca1530b0 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-custom-attribute-mapping-employeeid.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=b7028921df4152cc2a5657e3ee625d79 2500w`})}),_jsxs(_components.p,{children:[`Back in Bifrost, go to `,_jsx(_components.strong,{children:`Attribute Mapping`}),` in the provider setup and add a `,_jsx(_components.strong,{children:`SCIM Attribute`}),` entry for `,_jsx(_components.code,{children:`employeeID`}),`. The External name you set in Okta must match this exactly.`]}),_jsx(Frame,{caption:`In Bifrost's Attribute Mapping step, add the custom SCIM attribute using the same External name configured in Okta.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=074018da69e5ed39f0c52f0d6be06d6e`,alt:`Bifrost Attribute Mapping step showing SCIM Attributes section with employeeID custom attribute entry`,\"data-og-width\":`2914`,width:`2914`,\"data-og-height\":`1670`,height:`1670`,\"data-path\":`media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=9f3460fcaf30ef0553518ce32d6d49ee 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=429959a67efac339564304c3ec3cb670 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=a926b036d41b6b2fd5417e8ca73a57ee 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=08ba7c9e091b81835e0e6a33d11ad48c 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=4591c35675fee0eb4522bc666e3280e1 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/bifrost-custom-user-attribute-scim.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=233d04f0571a70aa1462d48408239da6 2500w`})}),_jsx(Note,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`External name`}),` in Okta’s Profile Editor and the SCIM attribute name in Bifrost must match exactly - including case.`]})})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`step-4-assign-users-and-push-groups`,children:`Step 4: Assign Users and Push Groups`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Assign users`,children:[_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.strong,{children:`Assignments`}),` tab in the Bifrost SCIM app.`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Assign`}),` → `,_jsx(_components.strong,{children:`Assign to People`}),` or `,_jsx(_components.strong,{children:`Assign to Groups`}),` and select the users or groups to sync with Bifrost.`]}),_jsx(Frame,{caption:`Assign users or groups from the Assignments tab - users are pushed to Bifrost immediately on assignment.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-assignments.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=bf9b1117d92b45b0f576fd43fbd1f563`,alt:`Bifrost SCIM app Assignments tab with Assign dropdown showing Assign to People and Assign to Groups options`,\"data-og-width\":`2128`,width:`2128`,\"data-og-height\":`1480`,height:`1480`,\"data-path\":`media/user-provisioning/okta/okta-scim-assignments.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-assignments.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=80c744668a1ac5f0c438803c258ec20e 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-assignments.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=bd3ecb1732caf4682fdd96fbccc5563f 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-assignments.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=6cce8c5a6fe7c7f846d347f83a287031 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-assignments.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=cd93457ceed11f129f3665522dc60824 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-assignments.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=3a1371e8f005e5222af439a8240caff1 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-assignments.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=e86a001efbe726aeb47f687b4d4bdbf8 2500w`})}),_jsx(_components.p,{children:`Assigned users are pushed to Bifrost immediately. When a user is unassigned or deactivated in Okta, Bifrost deactivates them in real time.`})]}),_jsxs(Step,{title:`Push groups (for team and BU mapping)`,children:[_jsx(_components.p,{children:`If you use group membership to drive Bifrost team or business unit assignments, you need to push the groups themselves - not just the users in them.`}),_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.strong,{children:`Push Groups`}),` tab in the Bifrost SCIM app and click `,_jsx(_components.strong,{children:`Push Groups`}),`.`]}),_jsxs(_components.p,{children:[`You can push groups `,_jsx(_components.strong,{children:`by name`}),` (search for specific groups) or `,_jsx(_components.strong,{children:`by rule`}),` (create a filter that automatically pushes any matching groups - useful if your groups follow a naming convention like `,_jsx(_components.code,{children:`Bifrost-*`}),`).`]}),_jsx(Frame,{caption:`Push Groups tab - choose to find groups by name or create a rule to push all matching groups automatically.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=54b53f7cc922d1cf43f0fb5c89e6f6a7`,alt:`Push Groups tab showing Find groups by name and Find groups by rule options`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1592`,height:`1592`,\"data-path\":`media/user-provisioning/okta/okta-scim-push-groups.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=85389d63c27e5a534f23440c0adc0d70 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=668353ce1a453762c606620c3cc8b0df 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=0ab063cdb923cef7147eccfb84703c1f 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=272c50d98ab062785b48271898994546 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=a58ebb388feda90bdf27a2aaceace37d 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=33c9f5c2a85cf7e6ce5e53d3239b2b23 2500w`})}),_jsx(Frame,{caption:`Push by rule - set a filter (e.g. Group name starts with 'Bifrost') to automatically push all matching groups.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-by-rule.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=886b3c94b7a11f92ad8c2af9a3782bab`,alt:`Push Groups by rule dialog with Rule name Bifrost Groups and Group name filter starting with Bifrost`,\"data-og-width\":`2128`,width:`2128`,\"data-og-height\":`1480`,height:`1480`,\"data-path\":`media/user-provisioning/okta/okta-scim-push-groups-by-rule.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-by-rule.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=aad330c7ceb05911fd4745c75be29cc8 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-by-rule.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=c982a8810971ca2ee8ee08f3d8daab20 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-by-rule.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=b7ba59c0e036c0c3b50fed4feb4117b8 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-by-rule.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=86ef78ade01b4e143164db5f5d536cd4 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-by-rule.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=bcc52ebc15e5635866db47a76b70c618 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-by-rule.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=e85d5564f7a3d57e02b477e2ad66fa42 2500w`})}),_jsxs(_components.p,{children:[`Once groups are pushed and showing as `,_jsx(_components.strong,{children:`Active`}),`, Bifrost tracks their membership in real time.`]}),_jsx(Frame,{caption:`Pushed groups showing as Active - Bifrost now tracks membership changes for these groups in real time.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-active.png?fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=c32d1d0793120b59deab230dcdadfd83`,alt:`Push Groups list showing Bifrost-Admin and Bifrost-Viewer groups with Active push status`,\"data-og-width\":`2128`,width:`2128`,\"data-og-height\":`1480`,height:`1480`,\"data-path\":`media/user-provisioning/okta/okta-scim-push-groups-active.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-active.png?w=280\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=3fd6eead8bb7a887c7f618735c54a2e7 280w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-active.png?w=560\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=0aac80bd257b1119ad53ad8c395f96f7 560w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-active.png?w=840\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=222d5cfcf711773e2317e39e21ccd2be 840w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-active.png?w=1100\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=efb6245e21ac97f3dc8bac059ac2eedc 1100w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-active.png?w=1650\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=d3d614a881d85faa8f1c732cae30395d 1650w, https://mintcdn.com/bifrost/xzA5tsApkV1N-gkH/media/user-provisioning/okta/okta-scim-push-groups-active.png?w=2500\u0026fit=max\u0026auto=format\u0026n=xzA5tsApkV1N-gkH\u0026q=85\u0026s=6f77ac4b807baf468201fa9f4336ed1c 2500w`})}),_jsxs(_components.p,{children:[`In Bifrost, configure `,_jsx(_components.strong,{children:`Attribute-to-Team`}),` or `,_jsx(_components.strong,{children:`Attribute-to-Business Unit`}),` mappings using the group `,_jsx(_components.code,{children:`displayName`}),` as the match value to automatically assign users to teams or business units based on their group membership.`]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`step-5-verify-in-bifrost`,children:`Step 5: Verify in Bifrost`}),`\n`,_jsx(_components.p,{children:`Once assignments and group pushes are active, confirm everything is syncing correctly.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Governance`}),` → `,_jsx(_components.strong,{children:`Users`}),` to see provisioned users and their assigned roles`]}),`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Governance`}),` → `,_jsx(_components.strong,{children:`Teams`}),` to see teams populated from pushed groups`]}),`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Governance`}),` → `,_jsx(_components.strong,{children:`Business Units`}),` to see business units resolved from group or attribute mappings`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Changes in Okta - new assignments, group membership updates, deactivations - will reflect in Bifrost in real time.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-sync-works`,children:`How Sync Works`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Real-time push`}),` - Okta pushes user and group changes to Bifrost immediately when they occur.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No background reconciliation while SCIM Provisioning is on`}),` - even if you configured an API token in `,_jsx(_components.a,{href:`/enterprise/setting-up-okta/oidc#step-4-copy-your-credentials`,children:`SSO using OIDC Step 4`}),`, Bifrost’s scheduled directory sync is turned off while SCIM Provisioning is enabled. Make sure Okta pushes every change, including deactivations.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Test API Credentials fails`}),` - verify the SCIM Base URL has no trailing slash and the API token matches exactly what Bifrost generated. Rotate the token in Bifrost and update Okta if needed.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Users are pushed but have no role`}),` - SCIM provisions the user record; role assignment comes from attribute mappings in the OIDC provider. Confirm your Attribute-to-Role mappings are set and the relevant claims are present in the JWT.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Custom attribute is not arriving in Bifrost`}),` - confirm the External name in Okta’s Profile Editor matches the SCIM attribute name in Bifrost exactly (case-sensitive). Also verify the Okta User → Bifrost SCIM mapping direction is saved.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Group membership is not syncing`}),` - ensure groups are added under `,_jsx(_components.strong,{children:`Push Groups`}),`, not just `,_jsx(_components.strong,{children:`Assignments`}),`. Assignments sync users; Push Groups syncs group membership.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Setup SCIM","description":"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.","href":"/enterprise/setting-up-okta/scim"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Step 1: Enable SCIM in Bifrost","slug":"step-1-enable-scim-in-bifrost","depth":2,"children":[{"title":"Alternative: seed the token declaratively (Helm / config.json)","slug":"alternative-seed-the-token-declaratively-helm-/-config-json","depth":3,"children":[]},{"title":"Provisioning source","slug":"provisioning-source","depth":3,"children":[]}]},{"title":"Step 2: Create a SCIM App in Okta","slug":"step-2-create-a-scim-app-in-okta","depth":2,"children":[]},{"title":"Step 3: Configure the SCIM App","slug":"step-3-configure-the-scim-app","depth":2,"children":[]},{"title":"Step 4: Assign Users and Push Groups","slug":"step-4-assign-users-and-push-groups","depth":2,"children":[]},{"title":"Step 5: Verify in Bifrost","slug":"step-5-verify-in-bifrost","depth":2,"children":[]},{"title":"How Sync Works","slug":"how-sync-works","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/bifrost/62ad9b1aea461302/googleTag.js","/_mintlify/custom/bifrost/c4c9272fd1c525e5/jsonLd.js","/_mintlify/custom/bifrost/5a8b9314a2dac891/supportWidget.js","/_mintlify/custom/bifrost/088e287583b748b0/baseUrlSwitcher.js","/_mintlify/custom/bifrost/aa532cead633d329/tally-embed.js","/_mintlify/custom/bifrost/fe58824b4f1a0ad5/footerCompliance.js"],"subdomain":"bifrost","siteName":"Bifrost","title":"Setup SCIM - Bifrost","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-12T22:24:45.288Z","originalFileLocation":"enterprise/setting-up-okta/scim.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Bifrost\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Setup SCIM - Bifrost\">\u003cmeta data-mint-head property=\"og:description\" content=\"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Bifrost\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bifrost.mintlify.site/_mintlify/api/og/v2?division=Okta\u0026amp;title=Setup+SCIM\u0026amp;description=Enable+real-time+user+and+group+provisioning+from+Okta+to+Bifrost+Enterprise+using+SCIM+2.0.\u0026amp;theme=4d1d84bec9a8c3ee0c7cd8ee\u0026amp;signature=31edd40c3367c930f2b29881759d8d851af03ab41275d1ee8424ccc2be1e890d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Setup SCIM - Bifrost\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bifrost.mintlify.site/_mintlify/api/og/v2?division=Okta\u0026amp;title=Setup+SCIM\u0026amp;description=Enable+real-time+user+and+group+provisioning+from+Okta+to+Bifrost+Enterprise+using+SCIM+2.0.\u0026amp;theme=4d1d84bec9a8c3ee0c7cd8ee\u0026amp;signature=31edd40c3367c930f2b29881759d8d851af03ab41275d1ee8424ccc2be1e890d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/bifrost/kXIL-Qs6IzN4ZLK4/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Bifrost\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C3B43\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/enterprise/setting-up-okta/scim.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getbifrost.ai/#organization\",\"name\":\"Bifrost\",\"url\":\"https://docs.getbifrost.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bifrost/qFMmk8bNSnvgFYDI/media/bifrost-logo.png?fit=max\u0026auto=format\u0026n=qFMmk8bNSnvgFYDI\u0026q=85\u0026s=6af701a560aee4103444fa017b226cf0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getbifrost.ai#website\",\"name\":\"Bifrost\",\"url\":\"https://docs.getbifrost.ai\",\"publisher\":{\"@id\":\"https://docs.getbifrost.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim#webpage\",\"url\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim\",\"name\":\"Setup SCIM\",\"description\":\"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.\",\"dateModified\":\"2026-10-12T22:24:45.288Z\",\"isPartOf\":{\"@id\":\"https://docs.getbifrost.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Identity Providers (SSO)\",\"item\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/oidc\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Okta\",\"item\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/oidc\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Setup SCIM\",\"item\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim#article\",\"headline\":\"Setup SCIM\",\"name\":\"Setup SCIM\",\"description\":\"Enable real-time user and group provisioning from Okta to Bifrost Enterprise using SCIM 2.0.\",\"url\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getbifrost.ai/enterprise/setting-up-okta/scim#webpage\"},\"dateModified\":\"2026-10-12T22:24:45.288Z\",\"publisher\":{\"@id\":\"https://docs.getbifrost.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getbifrost.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Bifrost\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Bifrost","nav":{"global":{"anchors":[{"anchor":"Discord","icon":"discord","href":"https://discord.gg/exN5KAydbU"},{"anchor":"GitHub","icon":"github","href":"https://github.com/maximhq/bifrost"},{"anchor":"Try Enterprise","icon":"building","href":"https://www.getmaxim.ai/bifrost/enterprise"}]},"tabs":[{"tab":"OSS","icon":"book-open-cover","pages":[{"title":"OSS","href":"/overview"}]},{"tab":"Enterprise","icon":"building","pages":[{"title":"Enterprise","href":"/enterprise/overview"}]},{"tab":"Edge","icon":"globe","pages":[{"title":"Edge","href":"/edge/overview"}]},{"tab":"Integrations","icon":"plug","groups":[{"group":"Runbooks","icon":"book-open","pages":[{"title":"Set up Claude Code with Amazon Bedrock","icon":"star-of-life","href":"/runbooks/claude-code-bedrock"},{"title":"Set up Codex CLI with Amazon Bedrock","icon":"openai","href":"/runbooks/codex-bedrock"}]},{"group":"CLI Agents \u0026 Editors","icon":"command","pages":[{"title":"Overview","icon":"Book","href":"/cli-agents/overview"},{"title":"Cursor","icon":"arrow-pointer","href":"/cli-agents/cursor"},{"title":"LibreChat","icon":"message","href":"/cli-agents/librechat"},{"title":"Claude Code","icon":"star-of-life","href":"/cli-agents/claude-code"},{"title":"Claude Desktop","icon":"desktop","href":"/cli-agents/claude-desktop"},{"title":"Claude for Office","icon":"file-word","href":"/cli-agents/claude-for-office"},{"title":"GitHub Copilot","icon":"github","href":"/cli-agents/github-copilot"},{"title":"Codex CLI","icon":"openai","href":"/cli-agents/codex-cli"},{"title":"Gemini CLI","icon":"diamond","href":"/cli-agents/gemini-cli"},{"title":"Qwen Code","icon":"q","href":"/cli-agents/qwen-code"},{"title":"OpenCode","icon":"codepen","href":"/cli-agents/opencode"},{"title":"Zed Editor","icon":"z","href":"/cli-agents/zed-editor"},{"title":"Roo Code","icon":"code","href":"/cli-agents/roo-code"},{"title":"Open WebUI","icon":"globe","href":"/cli-agents/open-webui"}]},{"group":"SDKs \u0026 Frameworks","icon":"code","pages":[{"group":"OpenAI SDK","icon":"openai","pages":[{"title":"Overview","icon":"book","href":"/integrations/openai-sdk/overview"},{"title":"Files and Batch API","tag":"Beta","icon":"folder-open","href":"/integrations/openai-sdk/files-and-batch"}]},{"group":"Anthropic SDK","icon":"asterisk","pages":[{"title":"Overview","icon":"book","href":"/integrations/anthropic-sdk/overview"},{"title":"Files and Batch API","tag":"Beta","icon":"folder-open","href":"/integrations/anthropic-sdk/files-and-batch"}]},{"group":"Bedrock SDK","icon":"aws","pages":[{"title":"Overview","icon":"book","href":"/integrations/bedrock-sdk/overview"},{"title":"Files and Batch API","tag":"Beta","icon":"folder-open","href":"/integrations/bedrock-sdk/files-and-batch"}]},{"group":"GenAI SDK","icon":"diamond","pages":[{"title":"Overview","icon":"book","href":"/integrations/genai-sdk/overview"},{"title":"Files and Batch API","icon":"folder-open","href":"/integrations/genai-sdk/files-and-batch"}]},{"group":"Cohere SDK","icon":"c","pages":[{"title":"Overview","icon":"book","href":"/integrations/cohere-sdk/overview"}]},{"title":"LiteLLM SDK","icon":"train","href":"/integrations/litellm-sdk"},{"title":"Langchain SDK","icon":"crow","href":"/integrations/langchain-sdk"},{"title":"Pydantic AI SDK","icon":"triangle","href":"/integrations/pydanticai-sdk"},{"title":"TypeSafe SDK","icon":"scale-balanced","href":"/integrations/typesafe-sdk"},{"title":"Passthrough","icon":"route","href":"/integrations/passthrough"}]},{"group":"Identity Providers (SSO)","icon":"id-card","pages":[{"group":"Okta","icon":"/media/okta-icon.svg","pages":[{"title":"SSO using OIDC","description":"Configure Okta as your identity provider for Bifrost Enterprise using OpenID Connect.","href":"/enterprise/setting-up-okta/oidc"},{"title":"Setup SCIM","href":"/enterprise/setting-up-okta/scim"}]},{"group":"Microsoft Entra","icon":"microsoft","pages":[{"title":"SSO using OIDC","description":"Configure Microsoft Entra ID (Azure AD) as your identity provider for Bifrost Enterprise using OpenID Connect.","href":"/enterprise/setting-up-entra/oidc"},{"title":"Setup SCIM","href":"/enterprise/setting-up-entra/scim"}]},{"group":"Zitadel","icon":"/media/zitadel-icon.svg","pages":[{"title":"SSO using OIDC","href":"/enterprise/setting-up-zitadel/oidc"}]},{"group":"Keycloak","icon":"/media/keycloak-icon.svg","pages":[{"title":"SSO using OIDC","href":"/enterprise/setting-up-keycloak/oidc"}]},{"group":"Google Workspace","icon":"google","pages":[{"title":"SSO using OIDC","href":"/enterprise/setting-up-google-workspace/oidc"},{"title":"Setup SCIM","href":"/enterprise/setting-up-google-workspace/scim"}]},{"group":"Auth0","icon":"/media/auth0-icon.svg","pages":[{"title":"SSO using OIDC","href":"/enterprise/setting-up-auth0/oidc"}]},{"group":"Generic OIDC","icon":"fingerprint","pages":[{"title":"SSO using OIDC","href":"/enterprise/setting-up-generic-oidc/oidc"},{"title":"Setup SCIM","href":"/enterprise/setting-up-generic-oidc/scim"}]},{"group":"Auth Proxy","icon":"shield-halved","pages":[{"title":"Cloudflare ZTNA (Access)","href":"/enterprise/auth-proxy/cloudflare-ztna"},{"title":"AWS ALB (Application Load Balancer)","href":"/enterprise/auth-proxy/aws-alb"},{"title":"Generic OIDC Proxy","href":"/enterprise/auth-proxy/generic-proxy"}]}]},{"group":"Content Safety (Guardrails)","icon":"road-barrier","pages":[{"title":"Secrets Detection","icon":"key","href":"/enterprise/guardrails/secrets-detection"},{"title":"Prompt Guardrails","icon":"shield-check","href":"/enterprise/guardrails/prompt-guardrails"},{"title":"Custom Regex","icon":"code","href":"/enterprise/guardrails/custom-regex"},{"title":"Microsoft Presidio","icon":"microsoft","href":"/integrations/guardrails/presidio"},{"title":"Azure AI Language PII","icon":"microsoft","href":"/integrations/guardrails/azure-language-pii"},{"title":"AWS Bedrock Guardrails","icon":"aws","href":"/integrations/guardrails/aws-bedrock"},{"title":"Azure Content Safety","icon":"microsoft","href":"/integrations/guardrails/azure-content-safety"},{"title":"Google Model Armor","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/google-model-armor-nav.svg","href":"/integrations/guardrails/google-model-armor"},{"title":"CrowdStrike AIDR","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/crowdstrike-nav.svg","href":"/integrations/guardrails/crowdstrike-aidr"},{"title":"Gray Swan Cygnal","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/grayswan-logo-nav.svg","href":"/integrations/guardrails/grayswan"},{"title":"Patronus AI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/patronus-logo-nav.svg","href":"/integrations/guardrails/patronus-ai"},{"title":"Check Point's AI Agent Security","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/lakera-logo-nav-v5.svg","href":"/integrations/guardrails/checkpoint"},{"title":"Repello Argus","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/repello-argus-logo-nav.svg","href":"/integrations/guardrails/repello-argus"},{"title":"Singulr AI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/singulr-logo-nav.svg","href":"/integrations/guardrails/singulr-ai"},{"title":"Noma Security","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/noma-logo-nav-v2.svg","href":"/integrations/guardrails/noma-security"},{"title":"A10 Guardrails","icon":"https://mintlify.s3.us-west-1.amazonaws.com/bifrost/media/a10-logo-nav.svg","href":"/integrations/guardrails/a10"}]},{"group":"Observability","icon":"binoculars","pages":[{"title":"Built-in Observability","icon":"cube","href":"/features/observability/default"},{"title":"Maxim AI","icon":"infinity","href":"/features/observability/maxim"},{"title":"Datadog","icon":"dog","href":"/features/observability/datadog"},{"title":"OpenTelemetry (OTel)","icon":"bolt","href":"/features/observability/otel"},{"title":"Prometheus","icon":"chart-line","href":"/features/observability/prometheus"},{"title":"Kafka","icon":"database","href":"/features/observability/kafka"},{"title":"BigQuery","icon":"table","href":"/features/observability/bigquery"},{"title":"Pub/Sub","icon":"database","href":"/features/observability/pubsub"},{"title":"Splunk","icon":"database","href":"/features/observability/splunk"}]},{"group":"Vector Databases","icon":"database","pages":[{"title":"Weaviate","icon":"database","href":"/integrations/vector-databases/weaviate"},{"title":"Redis / Valkey","icon":"database","href":"/integrations/vector-databases/redis"},{"title":"Qdrant","icon":"database","href":"/integrations/vector-databases/qdrant"},{"title":"Pinecone","icon":"database","href":"/integrations/vector-databases/pinecone"}]}]},{"tab":"Deployment Guides","icon":"server","pages":[{"title":"Deployment Guides","href":"/deployment-guides/overview"}]},{"tab":"API","icon":"code","pages":[{"title":"API","href":"/api/procuring-api-keys"}]},{"tab":"Contributing","icon":"code-pull-request","pages":[{"title":"Contributing","href":"/contributing/setting-up-repo"}]},{"tab":"Benchmarks","icon":"chart-line","pages":[{"title":"Benchmarks","href":"/benchmarking/getting-started"}]},{"tab":"Changelogs","icon":"bolt","menu":[{"item":"Open Source","icon":"rocket","pages":[{"title":"Open Source","href":"/changelogs/v2.5.0"}]},{"item":"Enterprise","icon":"building","pages":[{"title":"Enterprise","href":"/changelogs/ent-v2.5.0"}]},{"item":"Edge","icon":"grip","pages":[{"title":"Edge","href":"/changelogs/edge-v1.0.1"}]},{"item":"Bifrost CLI","icon":"laptop-code","pages":[{"title":"Bifrost CLI","href":"/changelogs/cli-v1.0.0"}]},{"item":"Helm","icon":"box","pages":[{"title":"Helm","href":"/changelogs/helm-v2.1.48"}]}],"pages":[{"title":"Changelogs","href":"/changelogs/v2.5.0"}]}]},"basePath":"","title":"Setup SCIM - Bifrost","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CXMGc493.js","DynamicMarkdown-D-2HDKEp.js","zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js"]}