Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.
Feature available with the Enterprise PlanConnect an identity provider to Orq.ai to allow the team to sign in using their existing credentials. Any identity provider that supports OIDC or SAML 2.0 is compatible.To have the provider create members, teams, and removals automatically instead of inviting people by hand, see SCIM provisioning.
Click Add SSO Connection, select the protocol, and follow the guide for the identity provider:
Okta
OIDC
SAML
Create an OIDC app in Okta
Sign in to the Okta Admin Console and navigate to Applications → Applications.
Okta Applications page
Click Create App Integration, then select OIDC - OpenID Connect and Web Application, and click Next.
Select sign-in method
Configure the application:
App integration name: Orq.ai (or preferred name)
Grant type: Ensure Authorization Code is selected
Sign-in redirect URIs:
https://my.orq.ai/v2/auth/sso/oidc/callback
Sign-out redirect URIs (optional):
https://my.orq.ai
App integration settings
Controlled access settings
Assign users
Go to the Assignments tab and click Assign → Assign to People or Assign to Groups.Select the users or groups that should have access to Orq.ai, then click Done.
Assign users to the application
By default, no users are assigned to a new Okta app.
Gather credentials
From the application’s General tab, scroll down to the Client Credentials section.Copy these values:
Client ID: use as the Client ID in Orq.ai
Client secret: click Copy to clipboard and use as the Client Secret in Orq.ai
Client credentials
Get the Provider URL
The Provider URL is the Okta domain’s authorization server issuer URL:
https://{yourOktaDomain}
Find the Okta domain in the top-right corner of the Okta Admin Console (e.g. acme.okta.com).
Configure in Orq.ai
Open Settings → Auth.
SSO Authentication page
Enter the credentials collected from Okta:
Select OIDC (selected by default)
Enter the Client ID
Enter the Client Secret
Enter the Provider URL
Enter the organization’s email domain(s) in Allowed domains (e.g., orq.ai)
Click Activate
OIDC configuration form
Test the login
SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
SSO login
Define the SP Entity ID
Choose a unique identifier for the Service Provider Entity ID. We recommend:
urn:orq.ai:{your-workspace-key}
For example, if the workspace key is acme-corp, use urn:orq.ai:acme-corp.
The SP Entity ID must match exactly in both Okta and Orq.ai. Write it down; it is needed in multiple steps.
Create a SAML app in Okta
In the Okta Admin Console, go to Applications → Applications.
Okta Applications page
Click Create App Integration, select SAML 2.0, and click Next.
Select sign-in method
Enter a name (e.g. Orq.ai SSO) and click Next.
General settings
Configure SAML settings
Under SAML Settings, enter:
Single sign-on URL:
https://my.orq.ai/v2/auth/sso/saml/callback
Audience URI (SP Entity ID): the SP Entity ID defined in Step 1
Name ID format: EmailAddress
Application username: Email
SAML configuration
Click Next, then Finish.
Feedback step
Configure attribute statements
Go to the Sign On tab and click Edit in the Settings section.
Sign On settings
Under Attribute Statements, add these mappings:
Name
Expression
email
user.email
firstName
user.firstName
lastName
user.lastName
If a Show legacy configuration link appears, click it and use the classic format with Name, Name format (Basic), and Value columns.
Legacy attribute configuration
Click Save.
These attribute mappings are required for SAML to work correctly with Orq.ai.
Gather credentials
In the Sign On tab, under Settings, click Edit to reveal the Metadata details.Collect these values:
Okta Field
Use in Orq.ai as
Sign on URL
Single Sign-On URL
Issuer
Identity Provider Entity ID
Signing Certificate (X.509)
X.509 Certificate (download)
SAML metadata details
Assign users
Go to the Assignments tab and click Assign → Assign to People or Assign to Groups.Select the users or groups that should have access, then click Done.
Assign users to the application
By default, no users are assigned to a new Okta app.
Configure in Orq.ai
Open Settings → Auth.Enter the credentials collected from Okta:
Select SAML
Enter the Service Provider Entity ID (from Step 1)
Enter the Identity Provider Entity ID (Issuer from Okta)
Enter the Single Sign-On URL (Sign on URL from Okta)
For X.509 Certificate: open the downloaded certificate file in a text editor, copy all content including the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- lines, and paste it here
Enter the organization’s email domain(s) in Allowed domains (e.g., orq.ai)
Click Activate
SAML configuration form
Test the login
SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
SSO login
Microsoft Entra ID - Active Directory
OIDC
SAML
Register an application in Azure
Sign in to the Azure portal and navigate to Microsoft Entra ID → App registrations.
App registrations page
Configure the registration:
Name: Orq.ai (or preferred name)
Supported account types: select based on the organization’s needs
Redirect URI: select Web and enter:
https://my.orq.ai/v2/auth/sso/oidc/callback
Click Register.
Register an application
Gather credentials
Get the Client ID:From the app registration Overview page, copy the Application (client) ID: this is the Client ID for Orq.ai.
Application overview with Client ID
Create a Client Secret:Go to Certificates & secrets → Client secrets → New client secret.Add a description (e.g., Orq.ai SSO), select an expiration period, and click Add.
Add a client secret
Copy the secret value immediately. Azure only displays it once. If lost, generate a new secret.
Copy the Value field: this is the Client Secret for Orq.ai.
Replace {tenant-id} with the Directory (tenant) ID, found on the app registration overview page.
Application overview
Configure API permissions
Go to API permissions and ensure these Microsoft Graph permissions are granted:
openid
email
profile
Request API permissions
Click Grant admin consent if required by the organization.
Configured API permissions
Orq.ai automatically requests the User.Read scope to retrieve user email addresses when the standard OIDC email claim is not available.
Configure in Orq.ai
Open Settings → Auth.Enter the credentials collected from Azure:
Select OIDC (selected by default)
Enter the Client ID
Enter the Client Secret
Enter the Provider URL
Enter the organization’s email domain(s) in Allowed domains (e.g., acme.com)
Click Activate
OIDC configuration form
Test the login
SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
SSO login
Define the SP Entity ID
Choose a unique identifier for the Service Provider Entity ID. We recommend:
urn:orq.ai:{your-workspace-key}
For example, if the workspace key is acme-corp, use urn:orq.ai:acme-corp.
The SP Entity ID must match exactly in both Azure and Orq.ai. Write it down; it is needed in multiple steps.
Create an enterprise application in Azure
In the Azure portal, go to Microsoft Entra ID → Enterprise applications → New application.
Enterprise applications page
Click Create your own application, name it (e.g. Orq.ai SSO), select Integrate any other application you don’t find in the gallery (Non-gallery), and click Create.
Create your own application
Application overview
Configure SAML
In the application, go to Single sign-on and select SAML.
Select single sign-on method
Under Basic SAML Configuration, click Edit and set:
Identifier (Entity ID): the SP Entity ID defined in Step 1
Reply URL (ACS URL):
https://my.orq.ai/v2/auth/sso/saml/callback
Sign on URL:
https://my.orq.ai/{your-workspace-key}/login
Click Save.
Basic SAML Configuration
Configure attributes and claims
Click Edit on Attributes & Claims.Verify or add these claim mappings:
Orq.ai supports both standard attribute names and full Microsoft Entra ID claim URIs (e.g., http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress). The default Entra ID claim mappings work out of the box.
Gather credentials
On the SAML configuration page, collect these values:From the “Set up” section:
Login URL: use as the Single Sign-On URL in Orq.ai
Microsoft Entra Identifier: use as the Identity Provider Entity ID in Orq.ai
From the “SAML Certificates” section:
Click Download next to Certificate (Base64) and save the file
SAML credentials
Assign users and groups
Go to Users and groups (left menu) and click Add user/group.Select the users or groups that should have access to Orq.ai, then click Assign.
Assign users and groups
By default, any user in the directory can authenticate. Assigning specific users or groups restricts access.
Configure in Orq.ai
Open Settings → Auth.Enter the credentials collected from Azure:
Select SAML
Enter the Service Provider Entity ID (from Step 1)
Enter the Identity Provider Entity ID (Microsoft Entra Identifier from Azure)
Enter the Single Sign-On URL (Login URL from Azure)
For X.509 Certificate: open the downloaded certificate file in a text editor, copy all content including the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- lines, and paste it here
Enter the organization’s email domain(s) in Allowed domains (e.g., orq.ai)
Click Activate
SAML configuration form
Test the login
SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
SSO login
Keycloak
OIDC
SAML
Choose or create a realm
Log in to the Keycloak admin console. From the realm dropdown (top-left), select an existing realm or click Create realm. Note the realm name; it is needed for the Provider URL.
In the chosen realm, navigate to Clients and click Create client.
Keycloak Clients page
Configure the General Settings:
Field
Value
Client type
SAML
Client ID
The SP Entity ID from Step 1 (e.g., urn:orq.ai:example-corp)
Name
orq.ai (optional display name)
Click Next.
General settings
Configure login settings
Enter the following:
Field
Value
Valid redirect URIs
https://my.orq.ai/v2/auth/sso/saml/callback
Master SAML Processing URL
https://my.orq.ai/v2/auth/sso/saml/callback
Click Save.
Login settings
Configure SAML signing
Open the client → Settings tab. Scroll to SAML capabilities and Signature and Encryption sections.Set the following:
Field
Value
Sign assertions
On
Sign documents
On
Name ID format
email
Click Save.
SAML signing settings
SAML signing settings continued
Disable client signature requirement
Open the client → Keys tab.Under Signing keys config, set:
Field
Value
Client signature required
Off
Under Encryption keys config, confirm:
Field
Value
Encrypt assertions
Off
Keys tab configuration
Client signature required defaults to On in Keycloak: turn it Off. Orq.ai does not sign outbound SAML AuthnRequests, so leaving this on causes Keycloak to reject every login attempt.Encrypt assertions must remain Off. Orq.ai does not decrypt assertions.
Configure SAML attribute mappers
A new Keycloak SAML client only sends the NameID and role list by default, not email, first name, or last name. Add mappers so Orq.ai can populate the user profile.
Open the client → Client scopes tab
Click the dedicated scope row (named {client-id}-dedicated)
Open the Mappers tab inside that scope
Option A (recommended): Add predefined X500 mappers
Click Add predefined mapper
Select these three rows:
X500 email
X500 givenName
X500 surname
Click Add
Predefined X500 mappers added to the dedicated scope
Mapper detail view
Option B: Configure custom mappers with simple namesClick Configure a new mapper, select User Property, and create three mappers:
Mapper
Property
SAML Attribute Name
NameFormat
email
email
email
Basic
firstName
firstName
firstName
Basic
lastName
lastName
lastName
Basic
Download the realm signing certificate
In the left navigation, click Realm settings
Open the Keys tab → Keys list sub-tab
Find the row where Algorithm = RS256, Type = RSA, Use = SIG
In the Public keys column, click Certificate
Copy the entire base64 value from the modal
Realm settings Keys tab, Certificate modal
Orq.ai accepts the certificate as raw base64 or PEM-wrapped with -----BEGIN CERTIFICATE----- / -----END CERTIFICATE----- markers. Pasting raw base64 directly works.
For example, with Authentik at https://auth.example.com and slug orq-ai:
https://auth.example.com/application/o/orq-ai/
The trailing slash on the Issuer URL is required. Authentik’s discovery endpoint fails without it.
Assign users
Open the application, go to the Policy / Group / User Bindings tab, and add a binding for the users or groups that should have access.
User bindings
If no bindings are configured, every authenticated Authentik user can access the application. If a binding excludes the user, Authentik shows Request has been denied. Unknown error on sign-in.
Configure in Orq.ai
Open Settings → Auth.
Select OIDC
Enter the Client ID (copied in Step 2)
Enter the Client Secret (copied in Step 2)
Enter the Provider URL (the Issuer URL from Authentik, with trailing slash)
Enter the organization’s email domain(s) in Allowed domains
Click Activate
OIDC configuration form
Test the login
SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
SSO login
Define the SP Entity ID
Choose a unique identifier for the SP Entity ID. It must match exactly in both Authentik and Orq.ai. Recommended format:
urn:orq.ai:{your-workspace-key}
For example: urn:orq.ai:example-corp.
Write it down; it is needed in multiple steps.
Create a new SAML provider
Log in to the Authentik admin interface and navigate to Applications → Providers.
Authentik Providers page
Click Create, select SAML Provider, and click Next.
The SP Entity ID from Step 1 (e.g., urn:orq.ai:example-corp)
Expand Advanced protocol settings and configure:
Field
Value
Signing Certificate
authentik Self-signed Certificate
Sign assertions
On
Sign responses
On
Verification Certificate
Leave empty
Encryption Certificate
Leave empty
Sign assertions must be On. Even with the Signing Certificate pre-populated, Authentik will not sign assertions (and omits <md:KeyDescriptor> from metadata) unless this toggle is enabled. Orq.ai rejects unsigned assertions.
Configure SAML provider settings
Click Finish.
Create an application
Navigate to Applications → Applications and click Create.
Authentik Applications page
Enter the following:
Field
Value
Name
orq.ai
Slug
orq-ai-saml (becomes part of the SSO URL)
Provider
The SAML provider created in Step 2
Click Create.
Create application
Collect the SSO URL and certificate
Open Applications → Providers and click the SAML provider. In the SAML Configuration section:
Copy the EntityID/Issuer: this is the Identity Provider Entity ID
Copy the SSO URL (Redirect): use the Redirect binding URL, not the Post one
Orq.ai issues the SAML AuthnRequest via HTTP-Redirect binding. Using the /binding/post/ endpoint results in Bad Request: The SAML request payload is missing. Always use the Redirect URL.
In the Related objects section, click Download signing certificate to save the PEM file.
SAML provider overview
The Download signing certificate button only appears after selecting a Signing Certificate and enabling Sign assertions in Step 3. If not visible, edit the provider and complete the Advanced protocol settings first.
Assign users
Open the application, go to the Policy / Group / User Bindings tab, and add a binding for the users or groups that should have access.
User bindings
Configure in Orq.ai
Open Settings → Auth.
Select SAML
Enter the Service Provider Entity ID (from Step 1)
Enter the Identity Provider Entity ID (the Issuer value from Authentik)
Enter the Single Sign-On URL (the Redirect-binding SSO URL)
Paste the certificate downloaded from Authentik
Enter the organization’s email domain(s) in Allowed domains
Click Activate
SAML configuration form
Test the login
SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
SSO login
Other providers
OIDC
SAML
Orq.ai works with any standards-compliant OIDC 1.0 identity provider (Auth0, Google Workspace, JumpCloud, OneLogin, Ping Identity, Duo, Rippling, Authelia, Zitadel, and others).What Orq.ai requires from the IdPOrq.ai acts as an OIDC Relying Party using the Authorization Code flow:
Requirement
Value
Flow
Authorization Code (with or without PKCE)
Application type
Web application / Confidential client
Grant type
authorization_code
Token endpoint auth method
client_secret_post or client_secret_basic
Discovery
{issuer}/.well-known/openid-configuration must be reachable
Register Orq.ai as an application
In the IdP’s admin interface, register a new web application with:
Field
Value
Application type
Web application (confidential client)
Grant type / Flow
Authorization Code
Redirect URI
https://my.orq.ai/v2/auth/sso/oidc/callback
Post-logout redirect URI (optional)
https://my.orq.ai
Allowed scopes
openid, email, profile
Grant the IdP’s equivalent of admin consent if required.
Configure required claims
Orq.ai expects the ID token or /userinfo endpoint to return:
Claim
Required?
Description
sub
Required
Stable user identifier
email
Required
User’s email address
email_verified
Recommended
Marks the email as verified
given_name
Recommended
First name
family_name
Recommended
Last name
name
Recommended
Full display name
Most IdPs return these automatically when the profile and email scopes are granted. If the IdP requires manual claim mapping, map user-directory fields to the names above.
Collect configuration values
Field
Where to Find
Client ID
Provided by the IdP after registration
Client Secret
Generated by the IdP; copy immediately
Provider URL
Base URL whose /.well-known/openid-configuration returns the discovery document
Verify the Provider URL by visiting {issuer-url}/.well-known/openid-configuration in a browser. It must return a JSON document containing authorization_endpoint, token_endpoint, jwks_uri, and issuer. The issuer field in that JSON must match exactly the URL entered in Orq.ai.
Assign users
Use the IdP’s standard user/group assignment to grant access to the Orq.ai application.
Configure in Orq.ai
Open Settings → Auth:
Select OIDC
Enter the Client ID
Enter the Client Secret
Enter the Provider URL (the Issuer URL from the IdP)
Enter the organization’s email domain(s) in Allowed domains
Click Activate
OIDC configuration form
Test the login
Open a private browser window and navigate to https://my.orq.ai. The SSO login button will appear automatically.
SSO login page
Orq.ai works with any standards-compliant SAML 2.0 identity provider.What Orq.ai requires from the IdP
Many IdPs do not send name and email attributes by default. After registering the application, explicitly add attribute mappers / claim rules / attribute statements in the IdP before the assertion will contain anything Orq.ai can read.
Collect configuration values
Orq.ai Field
Common IdP Label(s)
Identity Provider Entity ID
Issuer, IdP Entity ID, Microsoft Entra Identifier, entityID
If the IdP provides a SAML metadata XML file or URL, the IdP Entity ID, SSO URL, and certificate are all embedded inside. Use the HTTP-Redirect binding URL for the SSO URL.
Configure in Orq.ai
Open Settings → Auth:
Select SAML
Enter the Service Provider Entity ID
Enter the Identity Provider Entity ID
Enter the Single Sign-On URL (HTTP-Redirect endpoint)
Paste the X.509 Certificate
Enter the organization’s email domain(s) in Allowed domains
Click Activate
SAML configuration form
Test the login
Open a private browser window and navigate to https://my.orq.ai. The SSO login button will appear automatically.
To switch protocols (OIDC to SAML or vice versa), Orq.ai confirms the switch and presents an empty form; the two configurations differ entirely. The active connection remains unchanged until Save Changes is clicked. Cancel to preserve the current configuration.
Edit configuration: switch protocol
The Certificate and Client Secret fields are blank in the edit form; they update only when a new value is provided and Save Changes is clicked.
Cross App Access lets an MCP Gateway call enterprise-managed MCP servers on behalf of SSO users. The identity provider decides which users can access each app and issues the identity assertion grant (ID-JAG). This requires ID-JAG support at the identity provider and upstream authorization server, beyond ordinary OIDC or SAML sign-in.
In the identity provider, enable the Refresh Token grant for the client used by Orq.ai.
Configure access to each upstream app and assign the users allowed to use it.
Configure the client according to the SSO protocol:
OIDC: Cross App Access reuses the SSO connection’s provider URL, client ID, and client secret.
SAML: enter the Provider URL, Client ID, and Client Secret of an OIDC client at the same identity provider. The provider must allow that client to exchange SAML assertions for refresh tokens and request cross-app access.
Click Save Changes, then ask users to sign in through SSO again.
With OIDC, Orq.ai requests offline_access during sign-in to obtain a refresh token. With SAML, it exchanges the SAML assertion for a refresh token. Earlier sign-ins do not carry the required credentials.For SAML connections, enter a new Cross App Access client secret when changing its Provider URL or Client ID. Leave the secret blank only when keeping the same client and provider.After enabling Cross App Access, configure the MCP server’s authorization settings. Turning it off blocks new enterprise-managed server configurations and new identity assertion grants. Existing server settings remain editable; already-issued upstream tokens can remain usable until they expire.
Email login codes and social sign-in (Microsoft, Google) are refused while SSO is enforced: no code email is sent, and the attempt is rejected with “This workspace requires SSO login. Please use your SSO provider to sign in.”Enforcement applies to a member whose account belongs to this workspace alone; a member of several workspaces is unaffected.Orq.ai applies enforcement to the workspace’s SSO connection. Reach out to support@orq.ai to enable it, or remove or disable the connection to end it.
SCIM 2.0 lets the identity provider push members, groups, and removals into Orq.ai instead of inviting people by hand and removing them one at a time. It complements SSO rather than replacing it: SSO signs a person in, SCIM keeps their access current between sign-ins. SSO creates a member the first time they sign in; SCIM creates them before their first sign-in and removes them when the provider does.SCIM works with any enabled SSO connection, OIDC or SAML, and can be enabled on one connection per workspace. Requests receive 401 once the connection is disabled or deleted.
Point the identity provider’s provisioning client at the SCIM base URL:
https://my.orq.ai/v2/auth/scim
Mint a bearer token for it as a workspace Admin, or with an API key granted the SCIM permission. The token is scoped to one SSO configuration and is returned once, in scim_<hex> form. Read the sso-config-id from the _id field of the response:
Adds the member to the workspace, creating the account when the email is new. The member gets the Developer role and the workspace’s default projects, and no invitation email is sent.
Update a user
Updates the email, name, externalId, or active state.
Deactivate a user (active: false)
Deactivates the membership, revokes the user’s API keys, and records deprovisioned in Audit Logs.
Delete a user
Removes the workspace membership, deletes the account when no other workspace uses it, revokes the user’s API keys, and records deprovisioned in Audit Logs.
Create a group
Creates a Team named after the group’s displayName, with the users in members as its members.
Update a group
Renames the team and replaces its members with the group’s members.
Stored as the provider’s own identifier for the member
emails
Not read on write; responses carry the email from userName
A SCIM Group is an Orq.aiTeam. The group’s displayName becomes the team’s name, and the users listed in members become that team’s members. The team then appears under Settings → Organization → Teams.
SCIM group attribute
Orq.ai
displayName (required)
The name of the Team the group creates
members
The team’s members. Each entry is { "value": "<user id>" }, where <user id> is the SCIM id of a workspace member, the same value returned by /Users
externalId
Stored as the provider’s own identifier for the team
For example, when a group named Engineering with two members is created in the provider, the provider sends this POST /Groups request and Orq.ai creates a team named Engineering with those two members:
Only each entry’s value is read; any display the provider sends is ignored. The same mapping applies on PUT /Groups/{id}, where the group’s members replace the team’s members.
Error: “redirect_uri_mismatch” or “Invalid redirect URI”Solution: Verify the callback URL in the IdP exactly matches:
OIDC:https://my.orq.ai/v2/auth/sso/oidc/callback
SAML:https://my.orq.ai/v2/auth/sso/saml/callback
Common mistakes: extra slash at end, http:// instead of https://, typo in URL.
Entity ID mismatch (SAML)
Error: “Audience restriction” or “Invalid audience”Solution: Verify the SP Entity ID matches exactly in both the IdP and Orq.ai configuration. It is case-sensitive.
Invalid client secret (OIDC)
Error: “invalid_client” or “unauthorized_client”Solution: Regenerate the client secret in the IdP and update it in Orq.ai. Copy the secret immediately after creation.
User not assigned
Symptom: User cannot see the app or gets “access denied”Solution:
Okta: Go to application → Assignments and assign the user or their group
Azure: Go to Enterprise application → Users and groups → Add user/group
Keycloak: Open the client → Roles tab, create roles, and assign them to the user under Role mappings
Authentik: Open the application → Policy / Group / User Bindings and add a binding
Update the certificate in Orq.ai (AI Studio → Settings → Auth → Edit)
Click Save Changes
Email domain not allowed
Error: “Email domain not allowed”Solution: Add the user’s email domain to Allowed domains in the Orq.ai SSO configuration. Separate multiple domains with commas (e.g., acme.com, acme.io).
Missing email claim (Azure OIDC)
Symptom: Authentication succeeds but user has no emailSolution:Orq.ai automatically requests the User.Read Microsoft Graph scope. Verify this permission is granted:
Go to API permissions in the app registration
Verify User.Read is present
Click “Grant admin consent” if needed
Invalid signature or login bounces back (Keycloak SAML)
Error: “Invalid signature on document” or login redirects back to KeycloakSolution: The SAML client’s Client signature required (Keys tab) is On. Turn it Off; Orq.ai does not sign outbound AuthnRequests.
Missing name or email in Orq.ai profile (Keycloak/Authentik SAML)
Symptom: User signs in but first name, last name, or email are missing in Orq.aiSolution: The SAML client has no attribute mappers. For Keycloak, add X500 predefined mappers to the dedicated client scope. For Authentik, ensure Sign assertions is On in the provider’s Advanced protocol settings.
SAML request payload missing (Authentik)
Error: “Bad Request: The SAML request payload is missing”Solution: The SSO URL points at /binding/post/. Switch to the /binding/redirect/ URL; Orq.ai sends AuthnRequests via HTTP-Redirect.
HTTP issuer rejected
Error: Issuer URL rejectedSolution:Orq.ai rejects http:// issuers in production. The identity provider must be served over HTTPS.
Identity provider and protocol (e.g., “Keycloak SAML”)
Error message or screenshot
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Orq.ai Documentation","description":"Documentation for Orq.ai, the EU-built control plane for enterprise AI: govern every LLM and MCP call with the AI Gateway, and ship backlog work with the Software Factory.","colors":{"primary":"#027f6b","light":"#00d2b5","dark":"#027f6b"},"logo":{"light":"https://mintcdn.com/orqai/OG_14djpK9Yasgfk/images/Orq_ai_Symbol_Dark.svg?fit=max\u0026auto=format\u0026n=OG_14djpK9Yasgfk\u0026q=85\u0026s=d01651850182afdbc6309808b688d470","dark":"https://mintcdn.com/orqai/BYq_L5I_ZDBWL_Pf/images/Orq_ai_Symbol_Light.svg?fit=max\u0026auto=format\u0026n=BYq_L5I_ZDBWL_Pf\u0026q=85\u0026s=3e372f93174202f20c31d2c045af92b9","href":"/ai-gateway/get-started/introduction"},"favicon":"https://mintcdn.com/orqai/rmwcfFw4PPljHRCz/favicon.svg?fit=max\u0026auto=format\u0026n=rmwcfFw4PPljHRCz\u0026q=85\u0026s=1827beca4e1fb46e074d8bda067f3fb1","api":{"openapi":"openapi.json","examples":{"languages":["curl","typescript","python"]}},"background":{"color":{"light":"#f7f6f5","dark":"#171717"}},"navbar":{"links":[],"primary":{"type":"button","label":"Get Started","href":"https://my.orq.ai/auth/signup"}},"footer":{"socials":{"github":"https://github.com/orq-ai","x":"https://x.com/orq_ai","linkedin":"https://www.linkedin.com/company/orqai","website":"https://orq.ai"}},"seo":{"metatags":{"author":"Orq.ai","og:type":"website","og:site_name":"Orq.ai Documentation","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@orq_ai","twitter:creator":"@orq_ai","viewport":"width=device-width, initial-scale=1.0","robots":"index, follow","language":"English"},"organization":{"id":"https://docs.orq.ai/#organization","name":"Orq.ai","legalName":"Orq.AI Holding B.V.","url":"https://orq.ai","logo":"https://docs.orq.ai/images/Orq_ai_Symbol_Dark.svg","sameAs":["https://github.com/orq-ai","https://x.com/orq_ai","https://www.linkedin.com/company/orqai/"]},"indexing":"all"},"fonts":{"heading":{"family":"ES Klarheit Kurrent Semibold","weight":600,"source":"https://framerusercontent.com/assets/HiovZWjG27S5NQhE8dyeECDMc.woff2","format":"woff2"},"body":{"family":"Inter","weight":400,"source":"fonts/inter-latin-400-normal.woff2","format":"woff2"}},"styling":{"codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":true},"contextual":{"options":["copy","download-spec","chatgpt","claude","view"],"display":"header"},"interaction":{"drilldown":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"orqai","hasAudioNarration":false,"actualSubdomain":"orqai","customDomains":["docs.orq.ai"],"gitSource":{"type":"github","owner":"orq-ai","repo":"orquesta-web","deployBranch":"main","contentDirectory":"documentation/mintlify","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec613bada4d37850e27e55","collectionId":"97d33066-b9a1-4280-87e1-bbb0adeceadf","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec613bada4d37850e27e55"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aec613bada4d37850e27e55","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":404},{"language":"default","tag":"Platform APIs","count":258},{"language":"default","tag":"Integrations","count":93},{"language":"default","tag":"Orq SDK","count":70},{"language":"default","tag":"AI Gateway","count":69},{"language":"default","tag":"Management APIs","count":68},{"language":"default","tag":"SDK Reference","count":67},{"language":"default","tag":"Cookbooks","count":34},{"language":"default","tag":"Model Providers","count":31},{"language":"default","tag":"Frameworks \u0026 SDKs","count":30}],"searchSettings":{"maxResults":15}},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@orq.ai","showHelpButton":true}},"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":"vite-origin","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":"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":"custom.css","content":".nav-anchor img{border-radius:50%}.ig-root{scroll-margin-top:6rem}.ig-search{width:100%;padding:10px 14px 10px 38px;border-radius:8px;border:1px solid rgba(0, 0, 0, 0.15);font-size:14px;outline:none;margin-bottom:20px;background:transparent;box-sizing:border-box;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23999' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21 21-4.35-4.35M17 11A6 6 0 1 1 5 11a6 6 0 0 1 12 0Z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:12px center}.dark .ig-search{border-color:rgba(255, 255, 255, 0.15)}.ig-search:focus{border-color:#027f6b}.ig-tabs{display:flex;border-bottom:1px solid rgba(0, 0, 0, 0.1);margin-bottom:20px;gap:0}.dark .ig-tabs{border-bottom-color:rgba(255, 255, 255, 0.1)}.ig-tab{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-size:14px;font-weight:500;color:#888;white-space:nowrap}.ig-tab:hover{color:#027f6b}.dark .ig-tab:hover{color:#677F78}.ig-tab-active{border-bottom-color:#027f6b!important;color:#027f6b!important}.dark .ig-tab-active{border-bottom-color:#677F78!important;color:#677F78!important}.ig-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:6px}@media (max-width: 768px){.ig-grid{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 480px){.ig-grid{grid-template-columns:repeat(2, 1fr)}}.ig-card{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(0, 0, 0, 0.1);border-radius:6px;text-decoration:none!important;color:inherit!important;font-size:14px;font-weight:500;transition:background 0.12s, border-color 0.12s}.ig-card:hover{background:rgba(2, 127, 107, 0.05);border-color:rgba(2, 127, 107, 0.25)}.dark .ig-card{border-color:rgba(255, 255, 255, 0.1)}.dark .ig-card:hover{background:rgba(103, 127, 120, 0.1);border-color:rgba(103, 127, 120, 0.3)}.ig-card-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.ig-tab-count{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:0 5px;min-width:18px;height:18px;border-radius:9px;font-size:11px;font-weight:600;background:rgba(0, 0, 0, 0.08);color:inherit}.dark .ig-tab-count{background:rgba(255, 255, 255, 0.12)}.ig-tab-active .ig-tab-count{background:rgba(2, 127, 107, 0.15)}.dark .ig-tab-active .ig-tab-count{background:rgba(103, 127, 120, 0.25)}.ig-empty{text-align:center;padding:48px 24px;color:#999;font-size:14px;grid-column:1 / -1}kbd.key,kbd.key *{color:#fff!important}kbd.key{background:#242424;border-radius:5px;padding:2px 8px;font-size:0.85em;display:inline-flex;align-items:center;gap:6px;border:1px solid #3a3a3a;font-family:inherit;white-space:nowrap}#sidebar-content .flex-1:has(>svg.flex-shrink-0){flex:none!important}#sidebar-content{width:16rem!important;min-width:16rem!important}@media (min-width: 1024px){.lg\\:pl-56{padding-left:16rem!important}}.topbar-right-container nav[aria-label=\"Main\"] .navbar-link a,.topbar-right-container nav[aria-label=\"Main\"] .navbar-link a:hover{background-color:transparent!important}@media (min-width: 1024px){.topbar-right-container nav[aria-label=\"Main\"] ul{gap:1rem!important}.topbar-right-container nav[aria-label=\"Main\"] .navbar-link a{padding-left:0!important;padding-right:0!important}#page-title{font-size:2rem!important;line-height:1.2!important}}.nav-tabs-item:has(a[href^=\"/reference\"]){display:none!important}#navbar .nav-tabs-item[href=\"/ai-studio/integrations/overview\"]{position:relative}#navbar .nav-tabs-item[href=\"/ai-studio/integrations/overview\"]::before{content:'';position:absolute;top:50%;left:-12px;transform:translateY(-50%);height:55%;width:1px;background:rgba(0, 0, 0, 0.15)}.dark #navbar .nav-tabs-item[href=\"/ai-studio/integrations/overview\"]::before{background:rgba(255, 255, 255, 0.15)}@media (min-width: 1280px){#content-container{padding-left:3rem!important;padding-right:2rem!important}#content-side-layout{max-width:20rem!important}#content-area{width:calc(100% - 20rem)!important}}.md-export-list{display:none}@font-face{font-family:'Inter';src:url('/fonts/inter-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:optional}"}],"page":{"pagePath":"ai-studio/organization/sso","slug":"/ai-studio/organization/sso","pageMetadata":{"title":"Enterprise SSO authentication","sidebarTitle":"Single Sign-On","description":"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.","keywords":["sso","single sign-on","saml","oidc","scim","scim provisioning","deprovisioning","user provisioning","okta","entra id","azure ad","keycloak","authentik"],"tag":"Enterprise","href":"/ai-studio/organization/sso"},"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: \"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.\"\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`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Badge,CodeBlock,Frame,Heading,Icon,Note,OptimizedImage,Step,Steps,Tab,Table,Tabs,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Badge)_missingMdxReference(`Badge`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(Badge,{color:`blue`,size:`lg`,shape:`pill`,stroke:`true`,children:[`Feature available with the `,_jsx(_components.a,{href:`https://orq.ai/solutions/enterprise`,children:`Enterprise Plan`})]}),`\n`,_jsxs(_components.p,{children:[`Connect an identity provider to `,_jsx(_components.strong,{children:`Orq.ai`}),` to allow the team to sign in using their existing credentials. Any identity provider that supports OIDC or SAML 2.0 is compatible.`]}),`\n`,_jsxs(_components.p,{children:[`To have the provider create members, teams, and removals automatically instead of inviting people by hand, see `,_jsx(_components.a,{href:`#scim-provisioning`,children:`SCIM provisioning`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`choose-a-protocol`,children:`Choose a Protocol`}),`\n`,_jsx(_components.p,{children:`Two protocols are available:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(Icon,{icon:`bolt`}),` `,_jsx(_components.strong,{children:`OIDC`}),`: Modern, lightweight protocol based on OAuth 2.0. Recommended for most organizations for its quick setup and JSON-based authentication.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(Icon,{icon:`shield`}),` `,_jsx(_components.strong,{children:`SAML`}),`: XML-based protocol recommended for enterprise environments requiring fine-grained control over security attributes and assertions.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`configure-sso-in-orq-ai`,children:`Configure SSO in Orq.ai`}),`\n`,_jsx(Heading,{level:`3`,id:`navigate-to-auth-settings`,children:`Navigate to Auth settings`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Log in to `,_jsx(_components.strong,{children:`Orq.ai`})]}),`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`})]}),`\n`]}),`\n`,_jsx(Frame,{caption:`SSO Authentication page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ddcbd02b5fd808efca3c18c36076adda`,alt:`Orq.ai Authentication settings page showing available SSO provider options, each with a Configure button.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/sso-authentication-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=17587d29629976a8411da6eb2db9dd39 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7f9e8bc5a66fe2fc5b0a1a6dea7a3875 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=df94c5618bb1813f7af42bb4de475f60 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9a3f4cecd31b45aa682c4480ded84dce 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=89feae558c35b97458841205b5b56426 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0a2a9491792805377b273352e6045f45 2500w`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The workspace key is the slug in the `,_jsx(_components.strong,{children:`Workspace URL`}),` on `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`General`}),`. Sign-in URLs use it, for example `,_jsx(_components.code,{children:`https://my.orq.ai/acme/login`}),`.`]})}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Only one SSO connection can be active at a time. To switch providers, disconnect the current connection first.`})}),`\n`,_jsx(Heading,{level:`3`,id:`connect-a-provider`,children:`Connect a provider`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add SSO Connection`}),`, select the protocol, and follow the guide for the identity provider:`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Okta`,icon:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/okta.svg?fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=a5f54de9a5e242613c5f0f7f7e0f5bab`,\"data-og-width\":`24`,width:`24`,\"data-og-height\":`24`,height:`24`,\"data-path\":`images/logos/okta.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/okta.svg?w=280\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=94382e2238093d98a56fe2460096cacd 280w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/okta.svg?w=560\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=0b8c7dbdad49ee7760530ec7636339d7 560w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/okta.svg?w=840\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=b4c272e05b2d5089678b3c5cf38a514c 840w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/okta.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=4ccfbc560dd70ae16c853db3800d3af7 1100w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/okta.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=a899ea97a62574abd0c1db623ec4788a 1650w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/okta.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=5568587a5a83d5835f0a195083fa1b40 2500w`,id:`okta`,children:_jsxs(Tabs,{children:[_jsx(Tab,{title:`OIDC`,icon:`bolt`,id:`oidc`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Create an OIDC app in Okta`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`Sign in to the `,_jsx(_components.strong,{children:`Okta Admin Console`}),` and navigate to `,_jsx(_components.strong,{children:`Applications → Applications`}),`.`]}),_jsx(Frame,{caption:`Okta Applications page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=d7f3f39fe71e0f3cb869116fca809ad8`,alt:`Okta Admin Console Applications page showing the list of active applications with a Create App Integration button.`,\"data-og-width\":`1895`,width:`1895`,\"data-og-height\":`879`,height:`879`,\"data-path\":`images/sso/okta_oidc/okta-oidc-applications-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7ad813686f2b7c72e82c0bb598bd5cfe 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8fee2c6c91c631796643e531ec66f88c 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=4f3eaf7bbd880e6ca5798f78d49bc80f 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9f77ccffb926087a46e871eb5b675771 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ecb0520526825d4cd268157a85328175 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=aa20468af9250875f8b8b080b68552b3 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create App Integration`}),`, then select `,_jsx(_components.strong,{children:`OIDC - OpenID Connect`}),` and `,_jsx(_components.strong,{children:`Web Application`}),`, and click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`Select sign-in method`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7e9752c57b4b13406cc26f209ec5ae71`,alt:`Create a new app integration dialog with OIDC-OpenID Connect selected as sign-in method and Web Application as application type.`,\"data-og-width\":`1887`,width:`1887`,\"data-og-height\":`875`,height:`875`,\"data-path\":`images/sso/okta_oidc/okta-oidc-create-app-integration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=d884edd55475f4ee3d068bc6f08d5bc3 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=44446378bc5eb6239920f52f00dffd92 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7913a5d75dab1f01a060fb4660f9fc7c 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=eda2a8755c1f6859fd1579e03a53fe4e 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=32a016ac97ae58498c0e8a066b9c77d6 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=106b8606d40b2d2ed783eea397a43223 2500w`})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Configure the application:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`App integration name`}),`: `,_jsx(_components.code,{children:`Orq.ai`}),` (or preferred name)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Grant type`}),`: Ensure `,_jsx(_components.strong,{children:`Authorization Code`}),` is selected`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sign-in redirect URIs`}),`:`,`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/v2/auth/sso/oidc/callback`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sign-out redirect URIs`}),` (optional):`,`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`]}),_jsx(Frame,{caption:`App integration settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=db2b96c037d090fbaf92064bf35d1f38`,alt:`New Web App Integration page with App integration name set to Orq.ai, sign-in redirect URI set to https://my.orq.ai/v2/auth/sso/oidc/callback, and sign-out redirect URI set to https://my.orq.ai.`,\"data-og-width\":`1886`,width:`1886`,\"data-og-height\":`892`,height:`892`,\"data-path\":`images/sso/okta_oidc/okta-oidc-configure-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=cfaff1a491e4422cc888a4572e9526b1 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5185254b9289aa92343cacf520691096 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=96b7a3c3ca6363ece5168f8ec17df719 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9bfc83127bd8ff56c46346a6707ba0a3 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=d98629b675af85c6ff9202117d4ed6f3 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=83302654998a8414fc5f0adfc4dabe4e 2500w`})}),_jsx(Frame,{caption:`Controlled access settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=da819fd515fc50a40b9577a467f60448`,alt:`New Web App Integration page showing the Assignments section with Skip group assignment for now selected and a Save button.`,\"data-og-width\":`1865`,width:`1865`,\"data-og-height\":`900`,height:`900`,\"data-path\":`images/sso/okta_oidc/okta-oidc-assignments-and-save.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=90da5faca9708843fb11df9a0a1fc0c7 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=6222a926890426d5980a7fa06aab3736 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=338dbd19065ee3a4fba9f3ada0a2764b 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=148a3865d230b4804cecd041428ac4c1 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5afb55e7aeb71a58184f77cb61f3b247 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=d1fb2e8b6672824391ab2697ccb25be0 2500w`})})]}),_jsxs(Step,{title:`Assign users`,icon:`users`,children:[_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.strong,{children:`Assignments`}),` tab and click `,_jsx(`kbd`,{className:`key`,children:`Assign`}),` → `,_jsx(`kbd`,{className:`key`,children:`Assign to People`}),` or `,_jsx(`kbd`,{className:`key`,children:`Assign to Groups`}),`.`]}),_jsxs(_components.p,{children:[`Select the users or groups that should have access to `,_jsx(_components.strong,{children:`Orq.ai`}),`, then click `,_jsx(`kbd`,{className:`key`,children:`Done`}),`.`]}),_jsx(Frame,{caption:`Assign users to the application`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=6f4fca17e24b7a3da0d5878d51940e3f`,alt:`Okta Orq.ai application Assignments tab with the Assign dropdown open, showing Assign to People and Assign to Groups options.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`869`,height:`869`,\"data-path\":`images/sso/okta_oidc/okta-oidc-assign-users.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=e8bcc0280b39523be1ae530c3392f528 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8943b06ad4659c5a801776085c8c43b8 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=42844a67b9a49db9ba4e128642cbad44 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f8a1ff612c806f9c865c65d3c0c9041d 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f9c715835a9167bf63b726bf6ddbe01a 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a0d23e3bda86b0155929f36083b00d24 2500w`})}),_jsx(Note,{children:_jsx(_components.p,{children:`By default, no users are assigned to a new Okta app.`})})]}),_jsxs(Step,{title:`Gather credentials`,icon:`key`,children:[_jsxs(_components.p,{children:[`From the application’s `,_jsx(_components.strong,{children:`General`}),` tab, scroll down to the `,_jsx(_components.strong,{children:`Client Credentials`}),` section.`]}),_jsx(_components.p,{children:`Copy these values:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Client ID`}),`: use as the `,_jsx(_components.strong,{children:`Client ID`}),` in `,_jsx(_components.strong,{children:`Orq.ai`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Client secret`}),`: click `,_jsx(_components.strong,{children:`Copy to clipboard`}),` and use as the `,_jsx(_components.strong,{children:`Client Secret`}),` in `,_jsx(_components.strong,{children:`Orq.ai`})]}),`\n`]}),_jsx(Frame,{caption:`Client credentials`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=97721e0f8e36865a247b3b638a6d9026`,alt:`Okta Orq.ai application General tab showing Client Credentials with Client ID and a client secret listed under CLIENT SECRETS.`,\"data-og-width\":`1904`,width:`1904`,\"data-og-height\":`892`,height:`892`,\"data-path\":`images/sso/okta_oidc/okta-oidc-client-credentials.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=38c80de0d4da23993d4a06b17d902ef0 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f34bc1adbf4d2f6790ff8ec62ae6bccd 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=b583b511125a54b56aae66fd4a2a882e 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0f7562c3189eeb7e3f8d22647107e7b6 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=334c538a59a570166ce811844fe7c7e9 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=3b2e0c149f6249022a99365002f0a497 2500w`})})]}),_jsxs(Step,{title:`Get the Provider URL`,icon:`link`,children:[_jsx(_components.p,{children:`The Provider URL is the Okta domain’s authorization server issuer URL:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://{yourOktaDomain}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`Find the Okta domain in the top-right corner of the `,_jsx(_components.strong,{children:`Okta Admin Console`}),` (e.g. `,_jsx(_components.code,{children:`acme.okta.com`}),`).`]})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsx(Frame,{caption:`SSO Authentication page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ddcbd02b5fd808efca3c18c36076adda`,alt:`Orq.ai Authentication settings page showing available SSO providers, each with a Configure button.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/sso-authentication-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=17587d29629976a8411da6eb2db9dd39 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7f9e8bc5a66fe2fc5b0a1a6dea7a3875 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=df94c5618bb1813f7af42bb4de475f60 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9a3f4cecd31b45aa682c4480ded84dce 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=89feae558c35b97458841205b5b56426 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0a2a9491792805377b273352e6045f45 2500w`})}),_jsx(_components.p,{children:`Enter the credentials collected from Okta:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`OIDC`}),` (selected by default)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client ID`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client Secret`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Provider URL`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`}),` (e.g., `,_jsx(_components.code,{children:`orq.ai`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`OIDC configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=993b6152eef3ae82c9f00a65a6e4024b`,alt:`Configure Single Sign-On panel with OIDC selected for Okta, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-oidc.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=996cfea84fc7df01de5210a680264234 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=add9e5b7a8212621eeed0b301c3f55b7 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=023582a1ed1ca4df708942392507c31e 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=aba06cc14b612f2846197e63bc9c9cac 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=699ab144ef7ba1c9d47746a9875c7879 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f9bcfd2168af67cf811edabf0201c200 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Okta OIDC.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})}),_jsx(Tab,{title:`SAML`,icon:`shield`,id:`saml`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Define the SP Entity ID`,icon:`fingerprint`,children:[_jsx(_components.p,{children:`Choose a unique identifier for the Service Provider Entity ID. We recommend:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`urn:orq.ai:{your-workspace-key}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`For example, if the workspace key is `,_jsx(_components.code,{children:`acme-corp`}),`, use `,_jsx(_components.code,{children:`urn:orq.ai:acme-corp`}),`.`]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`The SP Entity ID must match exactly in both Okta and `,_jsx(_components.strong,{children:`Orq.ai`}),`. Write it down; it is needed in multiple steps.`]})})]}),_jsxs(Step,{title:`Create a SAML app in Okta`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Okta Admin Console`}),`, go to `,_jsx(_components.strong,{children:`Applications → Applications`}),`.`]}),_jsx(Frame,{caption:`Okta Applications page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ea34233a77763786f7f7039c607f4356`,alt:`Okta Admin Console Applications page showing the Orq.ai app as active.`,\"data-og-width\":`1892`,width:`1892`,\"data-og-height\":`883`,height:`883`,\"data-path\":`images/sso/okta_saml/okta-saml-applications-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a2a25e3b0b79d1faee37289dd139b457 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=bef7062463169e2b514502305a9f5c3d 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c7da2ab86956142ee85b5ad85ac2fb9e 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=80bb0d587da2851eff84c7000dd2b6df 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=acf49378d952b397d5ceb786c4690433 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=844eca478ca4f2a2f00ee7549c674136 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create App Integration`}),`, select `,_jsx(_components.strong,{children:`SAML 2.0`}),`, and click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`Select sign-in method`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c1a757ab51e9e0f62a9598b31c3c9091`,alt:`Create a new app integration dialog with SAML 2.0 selected as the sign-in method.`,\"data-og-width\":`1878`,width:`1878`,\"data-og-height\":`881`,height:`881`,\"data-path\":`images/sso/okta_saml/okta-saml-create-app-integration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9f97f6d3f128844462ba6cafe56a47e8 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=3d7b837a68c43ae2c92dc45c7bba0501 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0117d6ec35643ef5f96837cb9257803f 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=721e6abdbaba31ea505c854ff4c5a91c 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=580de8e28e77d13613146bdedba6ef15 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c3fc58893c3ac53331c767e778d9d809 2500w`})}),_jsxs(_components.p,{children:[`Enter a name (e.g. `,_jsx(_components.code,{children:`Orq.ai SSO`}),`) and click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`General settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=afe01ecddd94612103751a95c9512a7b`,alt:`Create SAML Integration wizard showing Step 1 General Settings with App name set to orq.ai.`,\"data-og-width\":`1891`,width:`1891`,\"data-og-height\":`895`,height:`895`,\"data-path\":`images/sso/okta_saml/okta-saml-general-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=830240a91e1a304809f832ec19bb9fc2 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ff2f20b8812fad3b5643aa5846ae2ac9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9dcda70ff945e7f1d4ac583a5580c568 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7d8aef1db5dbd9c8ad2b947eec910189 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0d3034f3a3056036c5e23047de9a3ddd 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=36e9da448348413d7d27358eb11570a7 2500w`})})]}),_jsxs(Step,{title:`Configure SAML settings`,icon:`shield`,children:[_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`SAML Settings`}),`, enter:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Single sign-on URL`}),`:`,`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/v2/auth/sso/saml/callback`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Audience URI (SP Entity ID)`}),`: the SP Entity ID defined in Step 1`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name ID format`}),`: `,_jsx(_components.code,{children:`EmailAddress`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Application username`}),`: `,_jsx(_components.code,{children:`Email`})]}),`\n`]}),_jsx(Frame,{caption:`SAML configuration`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ceb6074a9fd26625cbcf5f5d7316ccc2`,alt:`Create SAML Integration Step 2 showing Single sign-on URL and Audience URI fields.`,\"data-og-width\":`1895`,width:`1895`,\"data-og-height\":`889`,height:`889`,\"data-path\":`images/sso/okta_saml/okta-saml-configure-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=d340ce33fde48a63e31e58cbc78cc0de 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=eafaef137c48e4f32a7298a5d487bcb9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=90ec8185a847a8f85e06264b7848006d 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=bf5132ef2ad57dc49c1fe14e1f69c905 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=2e286524f1b77bc1b2bc0bd1d03f3f02 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a97667616a0c55f48b7b5c4d85466990 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Next`}),`, then `,_jsx(_components.strong,{children:`Finish`}),`.`]}),_jsx(Frame,{caption:`Feedback step`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=2b883ada743ce0c7ea48d3444a19e8eb`,alt:`Create SAML Integration Step 3 Feedback page with This is an internal app that we have created selected and a Finish button.`,\"data-og-width\":`1894`,width:`1894`,\"data-og-height\":`890`,height:`890`,\"data-path\":`images/sso/okta_saml/okta-saml-feedback.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7728350828e4a632a1dc67dcb3d103c8 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=6ab50c89be65f6cfa0da115a929d2caf 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=901b69a585984749e3226a39bbdb6109 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=19703e20a974b7d15d93f8301f6a1d11 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=1f518a3dc944af015ac9b8ebb3bc1ebc 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c1173dbe84ecf74188d34b69c98c67f3 2500w`})})]}),_jsxs(Step,{title:`Configure attribute statements`,icon:`tags`,children:[_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.strong,{children:`Sign On`}),` tab and click `,_jsx(_components.strong,{children:`Edit`}),` in the Settings section.`]}),_jsx(Frame,{caption:`Sign On settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=eff9182d4258ac964489d3a5288d1ce4`,alt:`Okta Sign On tab showing an empty Attribute statements section and a Show legacy configuration toggle.`,\"data-og-width\":`1882`,width:`1882`,\"data-og-height\":`885`,height:`885`,\"data-path\":`images/sso/okta_saml/okta-saml-attribute-statements.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7fa7887d558eb6f75ab9934cf3fda383 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=4440af171a05baa514485040e0c169a2 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ae248f952bd17d486499772cc579af3f 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8a670d04f7d2609b49c8773e9e1dd2cc 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0a0f0f8c6a8f7cc6e4efd7e7a2502f3a 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=08e71e4e6828e8d705c6a33c2405383b 2500w`})}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Attribute Statements`}),`, add these mappings:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Expression`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`user.email`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`firstName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`user.firstName`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lastName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`user.lastName`})})]})]})]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`If a `,_jsx(_components.strong,{children:`Show legacy configuration`}),` link appears, click it and use the classic format with Name, Name format (Basic), and Value columns.`]})}),_jsx(Frame,{caption:`Legacy attribute configuration`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=d5175f3e796758dba43814dcf69e2375`,alt:`Legacy Profile attribute statements showing email mapped to user.email, firstName to user.firstName, and lastName to user.lastName.`,\"data-og-width\":`1895`,width:`1895`,\"data-og-height\":`888`,height:`888`,\"data-path\":`images/sso/okta_saml/okta-saml-legacy-attributes.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=6107c60694acd54c888767fbccb84e03 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=596d697f9fd613af554d281130db0680 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7bb0779cc952f7bd967a25d0746cee47 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=1ea3cdddc8d4c33661bfb8a8fa183b19 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=2e8476fc201688fddd4cee9ce938c2c5 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8790220ab70e8bd5802976a68df3a499 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`These attribute mappings are required for SAML to work correctly with `,_jsx(_components.strong,{children:`Orq.ai`}),`.`]})})]}),_jsxs(Step,{title:`Gather credentials`,icon:`key`,children:[_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Sign On`}),` tab, under `,_jsx(_components.strong,{children:`Settings`}),`, click `,_jsx(_components.strong,{children:`Edit`}),` to reveal the `,_jsx(_components.strong,{children:`Metadata details`}),`.`]}),_jsx(_components.p,{children:`Collect these values:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Okta Field`}),_jsx(_components.th,{children:`Use in Orq.ai as`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign on URL`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Single Sign-On URL`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Issuer`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Identity Provider Entity ID`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Signing Certificate (X.509)`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`X.509 Certificate`}),` (download)`]})]})]})]}),_jsx(Frame,{caption:`SAML metadata details`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=26f5e4d3537eef25602d97082a91b7a2`,alt:`Okta SAML 2.0 Metadata details showing Metadata URL, Sign on URL, Sign out URL, Issuer, and Signing Certificate for the Orq.ai application.`,\"data-og-width\":`1885`,width:`1885`,\"data-og-height\":`875`,height:`875`,\"data-path\":`images/sso/okta_saml/okta-saml-collect-values.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=cc126e90ebf1e27d9176889e38028a73 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8426b202b99142dc76b8ee82631151cc 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ef7d263a6cdc71f3d8af145e5313575a 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ec88e611ffed7c47e8be99e58a231e37 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=aa466d2cd0b88329c16ee53109d4a92a 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=63fb5eadbc2bfe4cc4de9fc262735ede 2500w`})})]}),_jsxs(Step,{title:`Assign users`,icon:`users`,children:[_jsxs(_components.p,{children:[`Go to the `,_jsx(_components.strong,{children:`Assignments`}),` tab and click `,_jsx(`kbd`,{className:`key`,children:`Assign`}),` → `,_jsx(`kbd`,{className:`key`,children:`Assign to People`}),` or `,_jsx(`kbd`,{className:`key`,children:`Assign to Groups`}),`.`]}),_jsxs(_components.p,{children:[`Select the users or groups that should have access, then click `,_jsx(`kbd`,{className:`key`,children:`Done`}),`.`]}),_jsx(Frame,{caption:`Assign users to the application`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=42a722488982e6d7709fbbbd4ca267e4`,alt:`Okta SAML application Assignments tab with the Assign dropdown open, showing Assign to People and Assign to Groups options.`,\"data-og-width\":`1888`,width:`1888`,\"data-og-height\":`872`,height:`872`,\"data-path\":`images/sso/okta_saml/okta-saml-assign-users.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=e57ebd7d4fd488e18df3392e5b5d631a 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8dea05d155ddcc3390c0c7da31752e86 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5285ca1150648b3622c3f2556616da91 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=42d6800daa939e5d7960fd3f096b7839 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c05dea0045b971191640487606b70c94 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=28b97e69319e20ce78eec5ff4a268b55 2500w`})}),_jsx(Note,{children:_jsx(_components.p,{children:`By default, no users are assigned to a new Okta app.`})})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsx(_components.p,{children:`Enter the credentials collected from Okta:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`SAML`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Service Provider Entity ID`}),` (from Step 1)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Identity Provider Entity ID`}),` (Issuer from Okta)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Single Sign-On URL`}),` (Sign on URL from Okta)`]}),`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`X.509 Certificate`}),`: open the downloaded certificate file in a text editor, copy all content including the `,_jsx(_components.code,{children:`-----BEGIN CERTIFICATE-----`}),` and `,_jsx(_components.code,{children:`-----END CERTIFICATE-----`}),` lines, and paste it here`]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`}),` (e.g., `,_jsx(_components.code,{children:`orq.ai`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`SAML configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=25560cd3f596a598af67cbdf52e4a365`,alt:`Configure Single Sign-On panel with SAML selected for Okta, showing fields for Service Provider Entity ID, Identity Provider Entity ID, Single Sign-On URL, X.509 Certificate, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-saml.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=b7cd96fb2b6d3e9fab0e68db5775b9b3 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=39315b89933e7da8e67d5350ad7e61a9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a93f57fe7147b45f88301f002beab764 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9c04dd5d9c73fa78a71935f9d5863ddf 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5f6d0611c615a38317de9f6c27b9c579 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c46c8424dfa34f719014c1029b1c6303 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Okta SAML.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})})]})}),_jsx(Accordion,{title:`Microsoft Entra ID - Active Directory`,icon:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/azure.svg?fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=5b1770d28bd7a1ac3058d6a59f39c1aa`,\"data-og-width\":`256`,width:`256`,\"data-og-height\":`256`,height:`256`,\"data-path\":`images/logos/azure.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/azure.svg?w=280\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=93f60b59abac11c45ecf30f8b04d8fe3 280w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/azure.svg?w=560\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=77bf3a08a8d63922a62179678a62d3bc 560w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/azure.svg?w=840\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=d9c934994ea56f5c0ef2a1f6d9594387 840w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/azure.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=52b6f202e8f96611643cfd253cdb6406 1100w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/azure.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=56c391578cb5df4a0e777d513b7712ee 1650w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/azure.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=624866578deece1ff8b7cc3c5321f6bd 2500w`,id:`microsoft-entra-id-active-directory`,children:_jsxs(Tabs,{children:[_jsx(Tab,{title:`OIDC`,icon:`bolt`,id:`oidc-2`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Register an application in Azure`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`Sign in to the `,_jsx(_components.a,{href:`https://entra.microsoft.com`,children:`Azure portal`}),` and navigate to `,_jsx(_components.strong,{children:`Microsoft Entra ID → App registrations`}),`.`]}),_jsx(Frame,{caption:`App registrations page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=5f18364c0f7dcec13eb3133323654bc0`,alt:`Azure Default Directory App registrations page with no applications registered and a Register an application button.`,\"data-og-width\":`1919`,width:`1919`,\"data-og-height\":`917`,height:`917`,\"data-path\":`images/sso/azure_oidc/azure-oidc-app-registrations.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=9caa1b43fca66660bfef4de704c9d2eb 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=cbc6b5f1feaa8ec064560a188f1bedaf 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=30b9aa86e2c011b44bab4705b2f5b1da 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=5a664ed8456f29513bce219ad12b0037 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=9496ed53cb44a33a598e97d4b3a4e6a2 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=22e330654ac8970d92687ff2bd834ce9 2500w`})}),_jsx(_components.p,{children:`Configure the registration:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),`: `,_jsx(_components.code,{children:`Orq.ai`}),` (or preferred name)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Supported account types`}),`: select based on the organization’s needs`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Redirect URI`}),`: select `,_jsx(_components.strong,{children:`Web`}),` and enter:`,`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/v2/auth/sso/oidc/callback`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Register`}),`.`]}),_jsx(Frame,{caption:`Register an application`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=619040402bb71986a5265f87dadedb7b`,alt:`Register an application page with Name set to Orq.ai, single-tenant account type selected, and Redirect URI set to https://my.orq.ai/v2/auth/sso/oidc/callback.`,\"data-og-width\":`1912`,width:`1912`,\"data-og-height\":`927`,height:`927`,\"data-path\":`images/sso/azure_oidc/azure-oidc-register-application.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=2585fc4e4b0348200fa4c7d81ac741d0 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=ee9442e5c96a391cbe93ffd3961aabbd 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=d86f3aa9eb849421999be0db3a1e6ec2 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=96b3764a69cde2858a56c4c91ec30b65 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=7dd914ffd577a8bf718da80044a25f46 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=30a1f065f6c6880089089f0204a99a53 2500w`})})]}),_jsxs(Step,{title:`Gather credentials`,icon:`key`,children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Get the Client ID:`})}),_jsxs(_components.p,{children:[`From the app registration `,_jsx(_components.strong,{children:`Overview`}),` page, copy the `,_jsx(_components.strong,{children:`Application (client) ID`}),`: this is the `,_jsx(_components.strong,{children:`Client ID`}),` for `,_jsx(_components.strong,{children:`Orq.ai`}),`.`]}),_jsx(Frame,{caption:`Application overview with Client ID`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=f268171e1a3d68455a434f275c06da83`,alt:`Azure Orq.ai application overview showing the Application ID and Tenant ID in the Essentials section.`,\"data-og-width\":`1909`,width:`1909`,\"data-og-height\":`919`,height:`919`,\"data-path\":`images/sso/azure_oidc/azure-oidc-app-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=536f8a6a85bbb22204de5c200872a321 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=250230dc0895118b63bc9a787b3aaf39 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=6eea0c7889aa5a54e41a4e02807e97de 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=19bee81c95ce9ef864df38cbec0ba5e1 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=89621ce5e51abe45f913c62e7c07a6e1 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=35aa59d088b5d55a4159f4ee645830f5 2500w`})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Create a Client Secret:`})}),_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Certificates \u0026 secrets → Client secrets → New client secret`}),`.`]}),_jsxs(_components.p,{children:[`Add a description (e.g., `,_jsx(_components.code,{children:`Orq.ai SSO`}),`), select an expiration period, and click `,_jsx(_components.strong,{children:`Add`}),`.`]}),_jsx(Frame,{caption:`Add a client secret`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=7980c3ee477a599ed1ed06985ce3b44b`,alt:`Certificates and secrets page with the Add a client secret panel open, showing Description set to Orq.ai SSO and Expires set to 730 days.`,\"data-og-width\":`1914`,width:`1914`,\"data-og-height\":`923`,height:`923`,\"data-path\":`images/sso/azure_oidc/azure-oidc-add-client-secret.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=04070d76ac20fdb2770d34312ea8adaa 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=9a7204b26daec4e2eb3f1e0c9b1641aa 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=9b355a2c03803a83112057e9e9941ff2 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=f282c7fc5e87fa31a239677b449541a6 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=37d6ab06136e35991c538e25fcb083ba 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=c7261ac779e84ce68b130c78b356e27b 2500w`})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Copy the secret value immediately.`}),` Azure only displays it once. If lost, generate a new secret.`]})}),_jsxs(_components.p,{children:[`Copy the `,_jsx(_components.strong,{children:`Value`}),` field: this is the `,_jsx(_components.strong,{children:`Client Secret`}),` for `,_jsx(_components.strong,{children:`Orq.ai`}),`.`]}),_jsx(Frame,{caption:`Client secret created`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=2c633c33856ed88df13032e2515507a3`,alt:`Certificates and secrets page showing the newly created Orq.ai SSO client secret with its expiry date.`,\"data-og-width\":`1919`,width:`1919`,\"data-og-height\":`922`,height:`922`,\"data-path\":`images/sso/azure_oidc/azure-oidc-client-secret-created.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=f2dc817a67520cd81dcf44c58566ff25 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=7660712daf5d6ef47b89075ae866efa5 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=0d981e69b7c36d99d3b6404beb8bc625 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=79da024398bed68de54fcaadfde9a2a4 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=13e5297d63e83808ca102bcf3964bbb6 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=3452baa430f38569b350c68979ad5daa 2500w`})})]}),_jsxs(Step,{title:`Get the Provider URL`,icon:`link`,children:[_jsx(_components.p,{children:`The Provider URL is the tenant’s issuer URL:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://login.microsoftonline.com/{tenant-id}/v2.0`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`Replace `,_jsx(_components.code,{children:`{tenant-id}`}),` with the `,_jsx(_components.strong,{children:`Directory (tenant) ID`}),`, found on the app registration overview page.`]}),_jsx(Frame,{caption:`Application overview`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=f268171e1a3d68455a434f275c06da83`,alt:`Azure Orq.ai application overview showing the Application ID and Tenant ID in the Essentials section.`,\"data-og-width\":`1909`,width:`1909`,\"data-og-height\":`919`,height:`919`,\"data-path\":`images/sso/azure_oidc/azure-oidc-app-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=536f8a6a85bbb22204de5c200872a321 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=250230dc0895118b63bc9a787b3aaf39 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=6eea0c7889aa5a54e41a4e02807e97de 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=19bee81c95ce9ef864df38cbec0ba5e1 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=89621ce5e51abe45f913c62e7c07a6e1 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=35aa59d088b5d55a4159f4ee645830f5 2500w`})})]}),_jsxs(Step,{title:`Configure API permissions`,icon:`shield-check`,children:[_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`API permissions`}),` and ensure these Microsoft Graph permissions are granted:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`openid`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`email`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`profile`})}),`\n`]}),_jsx(Frame,{caption:`Request API permissions`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=1a8de110e1ce9c9a1aadc0d6f3a4e087`,alt:`Azure API permissions page with the Request API permissions panel open, showing Microsoft Graph delegated permissions including email, openid, profile, and User.Read.`,\"data-og-width\":`1907`,width:`1907`,\"data-og-height\":`929`,height:`929`,\"data-path\":`images/sso/azure_oidc/azure-oidc-api-permissions-request.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=124314379b03967b52d3b09e8fc4a411 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=151acca9ca328ead760d2c8f4a634932 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=966fa571e1c6da437af0f51f71053338 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=855880b0277c9bcc199a55356b9a97af 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=2080a67de8a0e3a05f73f85a58d68984 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=3c96785296a38f107640bda6540b99aa 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Grant admin consent`}),` if required by the organization.`]}),_jsx(Frame,{caption:`Configured API permissions`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=06ba91debadbf584dd767c556e06e5dc`,alt:`Azure API permissions page showing configured Microsoft Graph delegated permissions: email, openid, profile, and User.Read.`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`923`,height:`923`,\"data-path\":`images/sso/azure_oidc/azure-oidc-api-permissions-configured.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=4b7cd7bd68e8521c17e83f975647e3e4 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=2690c3d2297789872e869298e40c1715 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=5be0a0df94ce79127b9a18e9c09cd545 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=bfad296919e5fcf34cafe4240d04cf28 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=a506822ec6919da6f2a1fa7ef203a45f 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=a5804b127514563b7737e65e901f01f2 2500w`})}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` automatically requests the `,_jsx(_components.code,{children:`User.Read`}),` scope to retrieve user email addresses when the standard OIDC `,_jsx(_components.code,{children:`email`}),` claim is not available.`]})})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsx(_components.p,{children:`Enter the credentials collected from Azure:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`OIDC`}),` (selected by default)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client ID`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client Secret`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Provider URL`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`}),` (e.g., `,_jsx(_components.code,{children:`acme.com`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`OIDC configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=993b6152eef3ae82c9f00a65a6e4024b`,alt:`Configure Single Sign-On panel with OIDC selected for Microsoft Entra ID, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-oidc.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=996cfea84fc7df01de5210a680264234 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=add9e5b7a8212621eeed0b301c3f55b7 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=023582a1ed1ca4df708942392507c31e 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=aba06cc14b612f2846197e63bc9c9cac 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=699ab144ef7ba1c9d47746a9875c7879 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f9bcfd2168af67cf811edabf0201c200 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Microsoft Entra ID OIDC.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})}),_jsx(Tab,{title:`SAML`,icon:`shield`,id:`saml-2`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Define the SP Entity ID`,icon:`fingerprint`,children:[_jsx(_components.p,{children:`Choose a unique identifier for the Service Provider Entity ID. We recommend:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`urn:orq.ai:{your-workspace-key}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`For example, if the workspace key is `,_jsx(_components.code,{children:`acme-corp`}),`, use `,_jsx(_components.code,{children:`urn:orq.ai:acme-corp`}),`.`]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`The SP Entity ID must match exactly in both Azure and `,_jsx(_components.strong,{children:`Orq.ai`}),`. Write it down; it is needed in multiple steps.`]})})]}),_jsxs(Step,{title:`Create an enterprise application in Azure`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`In the `,_jsx(_components.a,{href:`https://entra.microsoft.com`,children:`Azure portal`}),`, go to `,_jsx(_components.strong,{children:`Microsoft Entra ID → Enterprise applications → New application`}),`.`]}),_jsx(Frame,{caption:`Enterprise applications page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=34f9cbac55194b9c67412c3ccdc897b8`,alt:`Azure Enterprise applications page showing no applications found with a New application button.`,\"data-og-width\":`1910`,width:`1910`,\"data-og-height\":`912`,height:`912`,\"data-path\":`images/sso/azure_saml/azure-saml-enterprise-applications.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=963062aa2c7d23c6962d7a6fb6850791 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=426cb9681233fae90563c86105dd241f 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=01127a1f7cb79750cddd77868fedb121 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f60f85c144cea4e5efaf387fcfe45f91 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=6c9a1d0db9675c888803dd843f32a43d 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=d534423e07bd170e1d6c40a8def54ceb 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(`kbd`,{className:`key`,children:`Create your own application`}),`, name it (e.g. `,_jsx(_components.code,{children:`Orq.ai SSO`}),`), select `,_jsx(_components.strong,{children:`Integrate any other application you don’t find in the gallery (Non-gallery)`}),`, and click `,_jsx(`kbd`,{className:`key`,children:`Create`}),`.`]}),_jsx(Frame,{caption:`Create your own application`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a2db1cc55f7a47d8e496174b6b73bde1`,alt:`Azure Browse Microsoft Entra App Gallery page with the Create your own application panel showing a Name field and integration type options.`,\"data-og-width\":`1918`,width:`1918`,\"data-og-height\":`935`,height:`935`,\"data-path\":`images/sso/azure_saml/azure-saml-create-own-application.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0ce6c172293b5c156ed9f203bb879306 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8ad3f9f18ccdb5d63a1bca6a3ddf2774 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=50e6e29a4923a0c6509b701c73297b87 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=6aeb31a5b511f2438a2e3634e6275366 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=4c35601ceb2d878d1b76bf416a078b9d 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=3781093351b6c21b792456c4d03e32b6 2500w`})}),_jsx(Frame,{caption:`Application overview`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=86c3cc4caf2901cf75835b9999bf721b`,alt:`Azure Orq.ai Enterprise Application Overview showing Application ID, Object ID, and Getting Started steps for setup.`,\"data-og-width\":`1919`,width:`1919`,\"data-og-height\":`926`,height:`926`,\"data-path\":`images/sso/azure_saml/azure-saml-app-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=e885ae40397743accbb3fd7ffe0de7d0 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=3c85eac970a37a109f670c4502e5baac 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=4aaab01505b8b549337e0e8ebf4caa73 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=0646ec7d152bd65c8d85f9d070380b2c 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=f4741fca2e7fb9eb4a916d8ace80784d 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=c12e074dd48c4efcd9e05cb55a26d141 2500w`})})]}),_jsxs(Step,{title:`Configure SAML`,icon:`shield`,children:[_jsxs(_components.p,{children:[`In the application, go to `,_jsx(_components.strong,{children:`Single sign-on`}),` and select `,_jsx(_components.strong,{children:`SAML`}),`.`]}),_jsx(Frame,{caption:`Select single sign-on method`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=1d30a67998aa18b29c26fb8ba331e0cd`,alt:`Azure Single sign-on method selection page for Orq.ai showing options: Disabled, SAML, Password-based, and Linked.`,\"data-og-width\":`1913`,width:`1913`,\"data-og-height\":`916`,height:`916`,\"data-path\":`images/sso/azure_saml/azure-saml-select-method.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=005261a5cb8e998a56817539749e8ad9 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5b6db0e5131db64e5097fee34f45d8f9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0531b129498f18a925b65dba5a782460 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=1904770d90e28b5a09033e517f164a0d 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7e1c6e5254184f0934a115437c995b64 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=770dad374b81fa34ef8729bc80459488 2500w`})}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Basic SAML Configuration`}),`, click `,_jsx(_components.strong,{children:`Edit`}),` and set:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Identifier (Entity ID)`}),`: the SP Entity ID defined in Step 1`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reply URL (ACS URL)`}),`:`,`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/v2/auth/sso/saml/callback`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sign on URL`}),`:`,`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`]}),`\n`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{caption:`Basic SAML Configuration`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=d008f99cfa740074f6c2d0b1ca31ff31`,alt:`Azure SAML-based Sign-on page for Orq.ai showing Basic SAML Configuration with Identifier, Reply URL, Sign on URL, and a token signing certificate.`,\"data-og-width\":`1905`,width:`1905`,\"data-og-height\":`921`,height:`921`,\"data-path\":`images/sso/azure_saml/azure-saml-basic-configuration-saved.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=586c8eaceaa9d309b7030d60b90322c8 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=9c1c3f74b72dbf99592af5d660566a0a 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=c9c7de1c1e3f2fefee60b345e3633277 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=dac431386b7993a04820af99dd5bcc54 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=e4e4859fee918dca4782f04c124e13fc 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=38a54f13c28f864a17d67faefe0f1d02 2500w`})})]}),_jsxs(Step,{title:`Configure attributes and claims`,icon:`tags`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),` on `,_jsx(_components.strong,{children:`Attributes \u0026 Claims`}),`.`]}),_jsx(_components.p,{children:`Verify or add these claim mappings:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Short name`}),_jsx(_components.th,{children:`Full claim URI`}),_jsx(_components.th,{children:`Source attribute`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`emailaddress`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`user.mail`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`givenname`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`user.givenname`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`surname`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`user.surname`})})]})]})]}),_jsx(Frame,{caption:`Email claim mapping`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=c19f731576f565c891bd2b2b6ab65a33`,alt:`Manage claim page with Name set to emailaddress and Source attribute set to user.mail.`,\"data-og-width\":`1914`,width:`1914`,\"data-og-height\":`922`,height:`922`,\"data-path\":`images/sso/azure_saml/azure-saml-claim-emailaddress.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=f48ea778b6c578465a66fad2963596c9 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=24aaeebaaf7676e4050db7bedc6698b1 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=854442f2f3dfb5f5b3b9f12d77ca2371 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=a78e2de2f6358d1317cf42c421d32bff 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=b2487453bdd28393674b26de7d3c9118 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=a8b11d83e7caa2035d6f457b29c27751 2500w`})}),_jsx(Frame,{caption:`First name claim mapping`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=6dc48e1164cea7af7a9af4eb57034f9d`,alt:`Manage claim page with Name set to givenname and Source attribute set to user.givenname.`,\"data-og-width\":`1915`,width:`1915`,\"data-og-height\":`926`,height:`926`,\"data-path\":`images/sso/azure_saml/azure-saml-claim-givenname.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=4593a8e8ab74e78993c4045983b00037 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=c84b8efc9ff6ceef24d10c7a764d275d 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=ed0062775d8ced0321e3698c36f104f0 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=13c6d10f0530cc3fde33b13e6e2374ed 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=4fedb5f901749852c40ad6ade03fdafe 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=366ebec8ec4254267e610304d84094f2 2500w`})}),_jsx(Frame,{caption:`Last name claim mapping`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=106180024e911d5e6a68135cd7dbbb72`,alt:`Manage claim page with Name set to surname and Source attribute set to user.surname.`,\"data-og-width\":`1909`,width:`1909`,\"data-og-height\":`922`,height:`922`,\"data-path\":`images/sso/azure_saml/azure-saml-claim-surname.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=48d8c0eab0615afedcf84e3aa0b13765 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=5014ba97a26aa6c74c6efffe89d9a5a9 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=7ecf027d09094d10403b56009b96c0e2 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=0e995651ca8e0b657037df56abccbc43 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=d7ad7beb76f14999f89a7476a58dc0aa 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=e66e21ffe0b7933c6c38741f117800bc 2500w`})}),_jsx(Frame,{caption:`Claims overview`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=a49a51d26bcf6aeb0f7a72a9dc4ec10c`,alt:`Attributes and Claims page showing the required Unique User Identifier claim and additional claims for emailaddress, givenname, and surname mapped to user attributes.`,\"data-og-width\":`1904`,width:`1904`,\"data-og-height\":`929`,height:`929`,\"data-path\":`images/sso/azure_saml/azure-saml-claims-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=ee474ac69b3eaed9d5e03da7facb6bb0 280w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=e5bdba21e7152516b0d7487d8d833b5f 560w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=c7cc7b38e1c984d25f8d9f9fb0539785 840w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=2d650e23e3bf76f9b45b4e4099bef730 1100w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=4acac921fbb64dd2a96a2144524b798d 1650w, https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Wn8ERdoXUsqhmPIP\u0026q=85\u0026s=7f8e82a6fb72db058db7362857738498 2500w`})}),_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` supports both standard attribute names and full Microsoft Entra ID claim URIs (e.g., `,_jsx(_components.code,{children:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`}),`). The default Entra ID claim mappings work out of the box.`]})})]}),_jsxs(Step,{title:`Gather credentials`,icon:`key`,children:[_jsx(_components.p,{children:`On the SAML configuration page, collect these values:`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`From the “Set up” section:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Login URL`}),`: use as the `,_jsx(_components.strong,{children:`Single Sign-On URL`}),` in `,_jsx(_components.strong,{children:`Orq.ai`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Microsoft Entra Identifier`}),`: use as the `,_jsx(_components.strong,{children:`Identity Provider Entity ID`}),` in `,_jsx(_components.strong,{children:`Orq.ai`})]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`From the “SAML Certificates” section:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Download`}),` next to `,_jsx(_components.strong,{children:`Certificate (Base64)`}),` and save the file`]}),`\n`]}),_jsx(Frame,{caption:`SAML credentials`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=8ffca2d811330e219e841ba8f8354694`,alt:`Azure SAML-based Sign-on page showing SAML Certificates with the App Federation Metadata URL and Set up Orq.ai section with Login URL and Microsoft Entra Identifier.`,\"data-og-width\":`1900`,width:`1900`,\"data-og-height\":`909`,height:`909`,\"data-path\":`images/sso/azure_saml/azure-saml-collect-values.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=bbf3c7ffd2e03e52b4603787e56b30e0 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=91b079f85d6d407572ff635ccf4fc2aa 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=6e8259181b3200f91cce41d123b88f3a 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=56cbdba745a01b2a1ba3674f4929dca9 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=e7f47e93e7ce620c45835fabdbd6e65d 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a99c32f1c6c0407216310cfd0ac6c338 2500w`})})]}),_jsxs(Step,{title:`Assign users and groups`,icon:`users`,children:[_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Users and groups`}),` (left menu) and click `,_jsx(_components.strong,{children:`Add user/group`}),`.`]}),_jsxs(_components.p,{children:[`Select the users or groups that should have access to `,_jsx(_components.strong,{children:`Orq.ai`}),`, then click `,_jsx(`kbd`,{className:`key`,children:`Assign`}),`.`]}),_jsx(Frame,{caption:`Assign users and groups`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=db6818e55691fb7b5f150132452961d1`,alt:`Azure Orq.ai Users and groups page showing no application assignments with an Add user/group button.`,\"data-og-width\":`1909`,width:`1909`,\"data-og-height\":`920`,height:`920`,\"data-path\":`images/sso/azure_saml/azure-saml-users-and-groups.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=70593a94fedc87b39251ed418af87509 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=0334d61f858b1abe243a0d54df4fe54f 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=ef80c42bf434cc000827627933d0d87b 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=4f4d756a3bb2a3066320099090f87355 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=7b4a840a503531e9253037f0d6e939dd 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=795b0bd9dcd11da5a0e250334c73ef46 2500w`})}),_jsx(Note,{children:_jsx(_components.p,{children:`By default, any user in the directory can authenticate. Assigning specific users or groups restricts access.`})})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsx(_components.p,{children:`Enter the credentials collected from Azure:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`SAML`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Service Provider Entity ID`}),` (from Step 1)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Identity Provider Entity ID`}),` (Microsoft Entra Identifier from Azure)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Single Sign-On URL`}),` (Login URL from Azure)`]}),`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`X.509 Certificate`}),`: open the downloaded certificate file in a text editor, copy all content including the `,_jsx(_components.code,{children:`-----BEGIN CERTIFICATE-----`}),` and `,_jsx(_components.code,{children:`-----END CERTIFICATE-----`}),` lines, and paste it here`]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`}),` (e.g., `,_jsx(_components.code,{children:`orq.ai`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`SAML configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=25560cd3f596a598af67cbdf52e4a365`,alt:`Configure Single Sign-On panel with SAML selected for Microsoft Entra ID, showing fields for Service Provider Entity ID, Identity Provider Entity ID, Single Sign-On URL, X.509 Certificate, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-saml.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=b7cd96fb2b6d3e9fab0e68db5775b9b3 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=39315b89933e7da8e67d5350ad7e61a9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a93f57fe7147b45f88301f002beab764 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9c04dd5d9c73fa78a71935f9d5863ddf 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5f6d0611c615a38317de9f6c27b9c579 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c46c8424dfa34f719014c1029b1c6303 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Microsoft Entra ID SAML.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})})]})}),_jsx(Accordion,{title:`Keycloak`,icon:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/keycloak.svg?fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=12c71c9d357a0a0f4127791c9e6a66cf`,\"data-og-width\":`24`,width:`24`,\"data-og-height\":`24`,height:`24`,\"data-path\":`images/logos/keycloak.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/keycloak.svg?w=280\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=cca8f3d4885f6003f568d5f44d36df05 280w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/keycloak.svg?w=560\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=32e4488378bbc89590c9b0c1aa2b9854 560w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/keycloak.svg?w=840\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=f734b7ed151d62f33ef8f539d2352033 840w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/keycloak.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=442fa020716743b3f8d8091e99e7bb7d 1100w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/keycloak.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=8b2c588445591a7734be47ceff74a2ef 1650w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/keycloak.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=45da5fe304a1b2a7d36ac4c704c9c697 2500w`,id:`keycloak`,children:_jsxs(Tabs,{children:[_jsx(Tab,{title:`OIDC`,icon:`bolt`,id:`oidc-3`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Choose or create a realm`,icon:`globe`,children:[_jsxs(_components.p,{children:[`Log in to the `,_jsx(_components.strong,{children:`Keycloak admin console`}),`. From the realm dropdown (top-left), select an existing realm or click `,_jsx(_components.strong,{children:`Create realm`}),`. Note the realm name; it is needed for the Provider URL.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Keycloak may update their admin console interface over time. Refer to `,_jsx(_components.a,{href:`https://www.keycloak.org/documentation`,children:`Keycloak’s official documentation`}),` if any steps differ.`]})})]}),_jsxs(Step,{title:`Create a new client`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`In the chosen realm, navigate to `,_jsx(_components.strong,{children:`Clients`}),` and click `,_jsx(_components.strong,{children:`Create client`}),`.`]}),_jsx(Frame,{caption:`Keycloak Clients page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=be3e02b0133234a4ada678fb4fd1d972`,alt:`Keycloak Clients page showing the list of clients with a Create client button.`,\"data-og-width\":`1505`,width:`1505`,\"data-og-height\":`804`,height:`804`,\"data-path\":`images/sso/keycloak_oidc/keycloak-oidc-clients-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=dfa6f9ccc1f95fec0d74253099c092e0 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=167a0223a6aac7699a040a238c36f31d 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f2ff4c41d56a9469c1f0351f3689a07e 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=4a24d78c54a968790988533aba8a82d9 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=36490766282c307c97e5bc4231022f96 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=427e59c3af2c7d5f56710b5e73de61ef 2500w`})}),_jsx(_components.p,{children:`Configure the General Settings:`}),_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:`Client type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`OpenID Connect`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client ID`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`orq-ai`}),` (or preferred identifier)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Name`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`orq.ai`}),` (optional display name)`]})]})]})]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`General settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-general-settings.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=e62d3a16c8792676191d3808de48545b`,alt:`Keycloak Create client General Settings form showing Client type set to OpenID Connect and Client ID set to orq-ai.`,\"data-og-width\":`1689`,width:`1689`,\"data-og-height\":`874`,height:`874`,\"data-path\":`images/sso/keycloak_oidc/keycloak-oidc-general-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-general-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=96304fd3f756be867f435743b7d9748e 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-general-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=4f38275083141e4c50f925ac08d78a04 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-general-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=86a061a7e3026ce0e62ff29fdcd0b657 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-general-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=56f58166532f6a54e1dd463530c0196a 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-general-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0dd484b5bda086e20657dc5e245e1f04 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-general-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=049cec2f609d37942c6e675796fd8a46 2500w`})})]}),_jsxs(Step,{title:`Configure capability config`,icon:`sliders`,children:[_jsx(_components.p,{children:`Enable the following:`}),_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:`Client authentication`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`On`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Standard flow`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`On`})})]})]})]}),_jsxs(_components.p,{children:[`Leave `,_jsx(_components.strong,{children:`Direct access grants`}),`, `,_jsx(_components.strong,{children:`Implicit flow`}),`, and `,_jsx(_components.strong,{children:`Service accounts roles`}),` off unless the organization requires them. Click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`Capability config`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-capability-config.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=06b972b8509cd60471017f00cd58f3a8`,alt:`Keycloak capability config step showing Client authentication On and Standard flow On.`,\"data-og-width\":`1620`,width:`1620`,\"data-og-height\":`888`,height:`888`,\"data-path\":`images/sso/keycloak_oidc/keycloak-oidc-capability-config.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-capability-config.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=529d58994f3aace4d0e93103bb794c64 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-capability-config.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ab30840910cce39012470e90a68a8f31 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-capability-config.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=828d6d0bda3cfc50312e0655734087e9 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-capability-config.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f9aba1b72bde769f8277edf94b3fee75 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-capability-config.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=059eef9ae271ad550d632e64de77c4b2 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-capability-config.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=184bbd988f2a0bd68eca68e3ebf4b363 2500w`})})]}),_jsxs(Step,{title:`Configure login settings`,icon:`link`,children:[_jsx(_components.p,{children:`Enter the following:`}),_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:`Valid redirect URIs`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/oidc/callback`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Web origins`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai`})})]})]})]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{caption:`Login settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-login-settings.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=bec83b8ac2e35479d1433344741e2ef8`,alt:`Keycloak Login settings form showing Valid redirect URIs and Web origins fields configured for orq.ai.`,\"data-og-width\":`1672`,width:`1672`,\"data-og-height\":`877`,height:`877`,\"data-path\":`images/sso/keycloak_oidc/keycloak-oidc-login-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-login-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=bdaa5ecca4fee95848a93c71d701d967 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-login-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d891d4ad95540d4dbb59f1a1df66fcfb 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-login-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=dbcb811369547e1eab4f7f1a760e7d28 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-login-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d5e45261e00e249fe52acb4b477c7550 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-login-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=8c49b097ff57689da2f6e057765f5a43 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-login-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1d1cb1dc565ddcf840f56a11345a9882 2500w`})})]}),_jsxs(Step,{title:`Collect the Client Secret`,icon:`key`,children:[_jsxs(_components.p,{children:[`Open the client just created, go to the `,_jsx(_components.strong,{children:`Credentials`}),` tab, and copy the `,_jsx(_components.strong,{children:`Client Secret`}),`.`]}),_jsx(Frame,{caption:`Credentials tab`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-client-secret.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=6bf0f397f9ac62247f3135c5c8184e46`,alt:`Keycloak Credentials tab showing the Client Secret field with a Copy button.`,\"data-og-width\":`1738`,width:`1738`,\"data-og-height\":`850`,height:`850`,\"data-path\":`images/sso/keycloak_oidc/keycloak-oidc-client-secret.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-client-secret.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=8f56a2089e2e591b7e694b9650400b13 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-client-secret.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=428e464f6830411ea6c6c14fd73ddd96 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-client-secret.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c7f19c1429124f6cc15044ce8b19727c 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-client-secret.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=909ec98e189ef66387a1fce65fd7753f 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-client-secret.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=8800892b372af9ee07869d67ffdce5b1 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-client-secret.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=4d67d9b1417171b1e1bf939b0244d70d 2500w`})})]}),_jsxs(Step,{title:`Collect configuration values`,icon:`clipboard-list`,children:[_jsx(_components.p,{children:`The OIDC Issuer URL follows this pattern:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://{your-keycloak-domain}/realms/{realm-name}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`For example, with Keycloak at `,_jsx(_components.code,{children:`https://auth.example.com`}),` and realm `,_jsx(_components.code,{children:`orq-prod`}),`:`]}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://auth.example.com/realms/orq-prod`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`Verify the Provider URL by visiting `,_jsx(_components.code,{children:`{issuer-url}/.well-known/openid-configuration`}),` in a browser; it should return a JSON discovery document.`]})}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Where to Find`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client ID`})}),_jsx(_components.td,{children:`The Client ID entered in Step 2`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client Secret`})}),_jsxs(_components.td,{children:[`Copied from the `,_jsx(_components.strong,{children:`Credentials`}),` tab`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Provider URL`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://{your-keycloak-domain}/realms/{realm-name}`})})]})]})]})]}),_jsxs(Step,{title:`Assign users`,icon:`users`,children:[_jsx(_components.p,{children:`Any user in the realm can sign in by default. To restrict access, configure client-level roles and assign them:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the client → `,_jsx(_components.strong,{children:`Roles`}),` tab → create roles as needed`]}),`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Users`}),` → select user → `,_jsx(_components.strong,{children:`Role mappings`}),` → assign the client roles`]}),`\n`]}),_jsx(Frame,{caption:`Assign roles to users`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-assign-users.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=86350034edafee066268b87af4feb3b0`,alt:`Keycloak user role mappings page showing client roles being assigned to a user.`,\"data-og-width\":`1694`,width:`1694`,\"data-og-height\":`808`,height:`808`,\"data-path\":`images/sso/keycloak_oidc/keycloak-oidc-assign-users.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-assign-users.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=2afee636ba608ac9d1fdfcda8f04f8e4 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-assign-users.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=38333c70cd606b82951ae0ef36cb6ff5 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-assign-users.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=6198ceb1ce3521c88d72f1dc58633ed3 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-assign-users.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=030e68bc0d7b5f7abf2e1970a69eea6c 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-assign-users.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=5e0bccb42941a12dbd2e50a85f9afa38 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-assign-users.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0a296d2b95a48cebc354c315da322b72 2500w`})})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`OIDC`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client ID`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client Secret`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Provider URL`}),` (the Issuer URL from Keycloak)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`})]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`OIDC configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=993b6152eef3ae82c9f00a65a6e4024b`,alt:`Configure Single Sign-On panel with OIDC selected for Keycloak, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-oidc.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=996cfea84fc7df01de5210a680264234 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=add9e5b7a8212621eeed0b301c3f55b7 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=023582a1ed1ca4df708942392507c31e 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=aba06cc14b612f2846197e63bc9c9cac 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=699ab144ef7ba1c9d47746a9875c7879 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f9bcfd2168af67cf811edabf0201c200 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Keycloak OIDC.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})}),_jsx(Tab,{title:`SAML`,icon:`shield`,id:`saml-3`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Define the SP Entity ID`,icon:`fingerprint`,children:[_jsxs(_components.p,{children:[`Choose a unique identifier for the SP Entity ID. It must match exactly in both `,_jsx(_components.strong,{children:`Keycloak`}),` and `,_jsx(_components.strong,{children:`Orq.ai`}),`. We recommend:`]}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`urn:orq.ai:{your-workspace-key}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`For example: `,_jsx(_components.code,{children:`urn:orq.ai:example-corp`}),`.`]}),_jsx(Tip,{children:_jsx(_components.p,{children:`Write it down; it is needed in multiple steps.`})})]}),_jsxs(Step,{title:`Choose or create a realm`,icon:`globe`,children:[_jsxs(_components.p,{children:[`Log in to the `,_jsx(_components.strong,{children:`Keycloak admin console`}),`. From the realm dropdown (top-left), select an existing realm or click `,_jsx(_components.strong,{children:`Create realm`}),`. Note the realm name.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Keycloak may update their admin console interface over time. Refer to `,_jsx(_components.a,{href:`https://www.keycloak.org/documentation`,children:`Keycloak’s official documentation`}),` if any steps differ.`]})})]}),_jsxs(Step,{title:`Create a new SAML client`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`In the chosen realm, navigate to `,_jsx(_components.strong,{children:`Clients`}),` and click `,_jsx(_components.strong,{children:`Create client`}),`.`]}),_jsx(Frame,{caption:`Keycloak Clients page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=be3e02b0133234a4ada678fb4fd1d972`,alt:`Keycloak Clients page showing the list of active clients with a Create client button, accessed the same way for SAML client creation.`,\"data-og-width\":`1505`,width:`1505`,\"data-og-height\":`804`,height:`804`,\"data-path\":`images/sso/keycloak_oidc/keycloak-oidc-clients-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=dfa6f9ccc1f95fec0d74253099c092e0 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=167a0223a6aac7699a040a238c36f31d 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f2ff4c41d56a9469c1f0351f3689a07e 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=4a24d78c54a968790988533aba8a82d9 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=36490766282c307c97e5bc4231022f96 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_oidc/keycloak-oidc-clients-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=427e59c3af2c7d5f56710b5e73de61ef 2500w`})}),_jsx(_components.p,{children:`Configure the General Settings:`}),_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:`Client type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`SAML`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client ID`})}),_jsxs(_components.td,{children:[`The SP Entity ID from Step 1 (e.g., `,_jsx(_components.code,{children:`urn:orq.ai:example-corp`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Name`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`orq.ai`}),` (optional display name)`]})]})]})]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`General settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-general-settings.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=5fb338b7506cdef5ad0625d25897d9cd`,alt:`Keycloak Create SAML client General Settings form showing Client type set to SAML and Client ID set to the SP Entity ID.`,\"data-og-width\":`1676`,width:`1676`,\"data-og-height\":`884`,height:`884`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-general-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-general-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1d7ddb032f3418ad7c91f92e353db25c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-general-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=5b7a794758e1835e46bcaef904d15b41 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-general-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c1ca2f676f1533d7e11ce8a505e47cd1 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-general-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=745c4d1eeed52c32f14c89508d0dd152 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-general-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=fa1f43e076bc0c6f1b9060045b2d7b6a 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-general-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=00099dea91af72aec32062df4a6a3dba 2500w`})})]}),_jsxs(Step,{title:`Configure login settings`,icon:`link`,children:[_jsx(_components.p,{children:`Enter the following:`}),_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:`Valid redirect URIs`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/saml/callback`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Master SAML Processing URL`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/saml/callback`})})]})]})]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{caption:`Login settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-login-settings.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7df2ddad168035a038680598f48cff5c`,alt:`Keycloak SAML client Login settings form showing Valid redirect URIs and Master SAML Processing URL.`,\"data-og-width\":`1668`,width:`1668`,\"data-og-height\":`876`,height:`876`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-login-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-login-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f997c7d4c7879a4a08cc445190b794d6 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-login-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b18dbb6502c580bb4619ec3848753814 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-login-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0b760fa101ad438f0221e0fa37ef104e 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-login-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=58132741a91cc873416a1203c54da047 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-login-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7ae22c921a2bc5cd730158f4844e054b 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-login-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=e44cb7f07d39d074702277a2f5d8a36b 2500w`})})]}),_jsxs(Step,{title:`Configure SAML signing`,icon:`shield`,children:[_jsxs(_components.p,{children:[`Open the client → `,_jsx(_components.strong,{children:`Settings`}),` tab. Scroll to `,_jsx(_components.strong,{children:`SAML capabilities`}),` and `,_jsx(_components.strong,{children:`Signature and Encryption`}),` sections.`]}),_jsx(_components.p,{children:`Set the following:`}),_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:`Sign assertions`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`On`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign documents`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`On`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Name ID format`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})})]})]})]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]}),_jsx(Frame,{caption:`SAML signing settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=da99b82f57f8b81716cd56472386808a`,alt:`Keycloak SAML client Settings tab showing Sign assertions and Sign documents enabled.`,\"data-og-width\":`1398`,width:`1398`,\"data-og-height\":`668`,height:`668`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-signing-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b4e7c4b84786b9e304e6239d9ec43dd0 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=378a981a8e5157e24d7aa8bd61b60839 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1022bb341804dff866007255ac69ced6 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=14a70a638056bedaba976cc0a159e966 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=a092c257cf3cc83200df867ec108e598 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0c142045eba9e146a0e9e2a46ceb593a 2500w`})}),_jsx(Frame,{caption:`SAML signing settings continued`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings2.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1f9f28a854929bb6696287d06e47c5ca`,alt:`Keycloak SAML client Settings tab showing Name ID format set to email.`,\"data-og-width\":`1380`,width:`1380`,\"data-og-height\":`669`,height:`669`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-signing-settings2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings2.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=8067824370472b4b5f1cda1fd388bc04 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings2.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=80802d840419c38d3640b66fd78f4999 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings2.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=70de83ad7aef81ad474f43e32c315dc7 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=cb0f00fceac6e523d4450157df820907 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0bf9bbd4f924d4ad7b6439596fbf9073 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-signing-settings2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c54a3b8fe637e9931cd40108c88dc4c4 2500w`})})]}),_jsxs(Step,{title:`Disable client signature requirement`,icon:`key`,children:[_jsxs(_components.p,{children:[`Open the client → `,_jsx(_components.strong,{children:`Keys`}),` tab.`]}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Signing keys config`}),`, set:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Value`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client signature required`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Off`})})]})})]}),_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Encryption keys config`}),`, confirm:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Value`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Encrypt assertions`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Off`})})]})})]}),_jsx(Frame,{caption:`Keys tab configuration`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-keys-tab.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=5ac3c41dfa5dbbbf7814d2cf46a7d839`,alt:`Keycloak SAML client Keys tab showing Client signature required set to Off and Encrypt assertions set to Off.`,\"data-og-width\":`1717`,width:`1717`,\"data-og-height\":`871`,height:`871`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-keys-tab.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-keys-tab.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=eff49f0e15cff5f2574f2dd5c29dee43 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-keys-tab.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=8f23fdd2e718032ac03c49a58fe90402 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-keys-tab.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b98ee1d2ea4f5728fdc40e2a2c04a55a 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-keys-tab.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=a8f415baf8bf1c221525f6dec293f51b 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-keys-tab.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=bf8ab0e513c34c71b811a46281e62eac 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-keys-tab.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=9ab6fec945c0041b67f297cc4460d86d 2500w`})}),_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Client signature required`}),` defaults to `,_jsx(_components.strong,{children:`On`}),` in Keycloak: turn it `,_jsx(_components.strong,{children:`Off`}),`. `,_jsx(_components.strong,{children:`Orq.ai`}),` does not sign outbound SAML AuthnRequests, so leaving this on causes Keycloak to reject every login attempt.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Encrypt assertions`}),` must remain `,_jsx(_components.strong,{children:`Off`}),`. `,_jsx(_components.strong,{children:`Orq.ai`}),` does not decrypt assertions.`]})]})]}),_jsxs(Step,{title:`Configure SAML attribute mappers`,icon:`tags`,children:[_jsxs(_components.p,{children:[`A new Keycloak SAML client only sends the NameID and role list by default, not email, first name, or last name. Add mappers so `,_jsx(_components.strong,{children:`Orq.ai`}),` can populate the user profile.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the client → `,_jsx(_components.strong,{children:`Client scopes`}),` tab`]}),`\n`,_jsxs(_components.li,{children:[`Click the dedicated scope row (named `,_jsx(_components.code,{children:`{client-id}-dedicated`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Mappers`}),` tab inside that scope`]}),`\n`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Option A (recommended): Add predefined X500 mappers`})}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Add predefined mapper`})]}),`\n`,_jsxs(_components.li,{children:[`Select these three rows:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X500 email`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X500 givenName`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X500 surname`})}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Add`})]}),`\n`]}),_jsx(Frame,{caption:`Predefined X500 mappers added to the dedicated scope`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=180caa709249da1dec2b8fe08a08d4da`,alt:`Keycloak dedicated client scope Mappers tab showing X500 email, givenName, and surname mappers added.`,\"data-og-width\":`1732`,width:`1732`,\"data-og-height\":`825`,height:`825`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-mappers.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3b87501d1c462cb3ef80b76cc3a0c562 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f854e5e8c67d44a2d099aade0b7037fd 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f81777907a94638d8d4276a4c4e2937e 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f828b33a20fc3545835423701922c26d 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=53424380bd19b1b66f781d61d278e3cb 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=dd86ccbf61a5a5d6c8267feb85410254 2500w`})}),_jsx(Frame,{caption:`Mapper detail view`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers2.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=fdbec91ffde4899385dce8478d5b651d`,alt:`Keycloak mapper detail showing X500 email mapper configured with SAML Attribute Name and NameFormat.`,\"data-og-width\":`1667`,width:`1667`,\"data-og-height\":`812`,height:`812`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-mappers2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers2.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=a969f901fe7e8b7d970a01f4374d1786 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers2.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=af2c7b12667cb75d8b5378fcc6e962c4 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers2.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=a40572f3c4cdc63719906cb3c3b3f3d6 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f59e2ba7212cc6398fbf432a4e468e19 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d11e2af2d902ecd07fec6a1f7f039105 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-mappers2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=cd32914ddd54ecc12f7f158c0ad6066a 2500w`})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Option B: Configure custom mappers with simple names`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Configure a new mapper`}),`, select `,_jsx(_components.strong,{children:`User Property`}),`, and create three mappers:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mapper`}),_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`SAML Attribute Name`}),_jsx(_components.th,{children:`NameFormat`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Basic`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`firstName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`firstName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`firstName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Basic`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lastName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`lastName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`lastName`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Basic`})})]})]})]})]}),_jsxs(Step,{title:`Download the realm signing certificate`,icon:`certificate`,children:[_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In the left navigation, click `,_jsx(_components.strong,{children:`Realm settings`})]}),`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Keys`}),` tab → `,_jsx(_components.strong,{children:`Keys list`}),` sub-tab`]}),`\n`,_jsxs(_components.li,{children:[`Find the row where `,_jsxs(_components.strong,{children:[`Algorithm = `,_jsx(_components.code,{children:`RS256`})]}),`, `,_jsxs(_components.strong,{children:[`Type = `,_jsx(_components.code,{children:`RSA`})]}),`, `,_jsxs(_components.strong,{children:[`Use = `,_jsx(_components.code,{children:`SIG`})]})]}),`\n`,_jsxs(_components.li,{children:[`In the `,_jsx(_components.strong,{children:`Public keys`}),` column, click `,_jsx(_components.strong,{children:`Certificate`})]}),`\n`,_jsx(_components.li,{children:`Copy the entire base64 value from the modal`}),`\n`]}),_jsx(Frame,{caption:`Realm settings Keys tab, Certificate modal`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-realm-keys.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ba709f2ea7d2d7443930b4be2f3cefa3`,alt:`Keycloak Realm settings Keys tab showing the RS256 SIG key row with a Certificate button.`,\"data-og-width\":`1880`,width:`1880`,\"data-og-height\":`720`,height:`720`,\"data-path\":`images/sso/keycloak_saml/keycloak-saml-realm-keys.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-realm-keys.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=9dd693d0677a3a2b6f2d9d7da5f0def9 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-realm-keys.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3dbdc086efb98008386ce73706024041 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-realm-keys.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=a28e3b3ee53f49b68ebe7ebd7b96e238 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-realm-keys.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=80b43b592cdaa47e897ed049958b7cd3 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-realm-keys.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=af1144d07699f52fa344b6002f2ab007 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/keycloak_saml/keycloak-saml-realm-keys.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0070ab4ac9b11034b0f3db7132808a05 2500w`})}),_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` accepts the certificate as raw base64 or PEM-wrapped with `,_jsx(_components.code,{children:`-----BEGIN CERTIFICATE-----`}),` / `,_jsx(_components.code,{children:`-----END CERTIFICATE-----`}),` markers. Pasting raw base64 directly works.`]})})]}),_jsxs(Step,{title:`Collect configuration values`,icon:`clipboard-list`,children:[_jsx(_components.p,{children:`The SAML endpoints follow these patterns:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Pattern`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Identity Provider Entity ID`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://{your-keycloak-domain}/realms/{realm-name}`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Single Sign-On URL`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://{your-keycloak-domain}/realms/{realm-name}/protocol/saml`})})]})]})]}),_jsxs(_components.p,{children:[`For example with Keycloak at `,_jsx(_components.code,{children:`https://auth.example.com`}),` and realm `,_jsx(_components.code,{children:`orq-prod`}),`:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`IdP Entity ID: `,_jsx(_components.code,{children:`https://auth.example.com/realms/orq-prod`})]}),`\n`,_jsxs(_components.li,{children:[`SSO URL: `,_jsx(_components.code,{children:`https://auth.example.com/realms/orq-prod/protocol/saml`})]}),`\n`]})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`SAML`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Service Provider Entity ID`}),` (from Step 1)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Identity Provider Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Single Sign-On URL`})]}),`\n`,_jsxs(_components.li,{children:[`Paste the `,_jsx(_components.strong,{children:`X.509 Certificate`}),` copied from Realm settings`]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`})]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`SAML configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=25560cd3f596a598af67cbdf52e4a365`,alt:`Configure Single Sign-On panel with SAML selected for Keycloak, showing fields for Service Provider Entity ID, Identity Provider Entity ID, Single Sign-On URL, X.509 Certificate, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-saml.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=b7cd96fb2b6d3e9fab0e68db5775b9b3 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=39315b89933e7da8e67d5350ad7e61a9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a93f57fe7147b45f88301f002beab764 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9c04dd5d9c73fa78a71935f9d5863ddf 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5f6d0611c615a38317de9f6c27b9c579 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c46c8424dfa34f719014c1029b1c6303 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Keycloak SAML.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})})]})}),_jsx(Accordion,{title:`Authentik`,icon:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/authentik.svg?fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=d0632d53aead4bc4b5824db95a048d19`,\"data-og-width\":`1000`,width:`1000`,\"data-og-height\":`1000`,height:`1000`,\"data-path\":`images/logos/authentik.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/authentik.svg?w=280\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=79fd5dc3955e23c56ea6e09b3d656a34 280w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/authentik.svg?w=560\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=aa51755d0b5276717d123fee7a9bfd0f 560w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/authentik.svg?w=840\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=cdb908313976475b4c3d240333c5ceac 840w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/authentik.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=afaf3be8f22356486c7b1d661ec549ba 1100w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/authentik.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=99b52752b4c87f1d261633e8f27e6bd2 1650w, https://mintcdn.com/orqai/E6QxcuOkIZbPb-u-/images/logos/authentik.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=E6QxcuOkIZbPb-u-\u0026q=85\u0026s=7cdace7366c3a7a6fb507ed5650e4702 2500w`,id:`authentik`,children:_jsxs(Tabs,{children:[_jsx(Tab,{title:`OIDC`,icon:`bolt`,id:`oidc-4`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Create a new provider`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`Log in to the `,_jsx(_components.strong,{children:`Authentik admin interface`}),` and navigate to `,_jsx(_components.strong,{children:`Applications → Providers`}),`.`]}),_jsx(Frame,{caption:`Authentik Providers page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7b975e86231129ea4be9a18b59e4a282`,alt:`Authentik Providers page showing the list of providers with a Create button.`,\"data-og-width\":`1489`,width:`1489`,\"data-og-height\":`777`,height:`777`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-providers-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=97b9225f27cfa4b2c9f556ff23a6bde0 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c38a82db69f1ac34fffaff2acb6fd504 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ef1e7736cc6ee60767aaf8d8eea43bd8 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=29f333a2c57048395ff05081ba3c3eb9 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=781900accf637d4d48e05fe3bd670448 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=e166454234983aa5d36ed6f505e818e1 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`, select `,_jsx(_components.strong,{children:`OAuth2/OpenID Provider`}),`, and click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`Select provider type`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-select-provider-type.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1c34287f5a2954c50f72a442c06f1f85`,alt:`Authentik provider type selection showing OAuth2/OpenID Provider highlighted.`,\"data-og-width\":`1628`,width:`1628`,\"data-og-height\":`870`,height:`870`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-select-provider-type.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-select-provider-type.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=887bb33d1404f68d99b5d566756b7e46 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-select-provider-type.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=07d632eb4009b65020bd81828fc95910 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-select-provider-type.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=127b7a6676ea9f342bcbeb39bff7729b 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-select-provider-type.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ff988ed1f20d246ee0ef1de946700594 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-select-provider-type.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=781eff5b78a2f47973731e8cf5640c3c 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-select-provider-type.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=5e551d8a88e8b081e3f5a51b60059b8f 2500w`})}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Authentik may update their admin interface over time. Refer to `,_jsx(_components.a,{href:`https://docs.goauthentik.io/`,children:`Authentik’s official documentation`}),` if any steps differ.`]})})]}),_jsxs(Step,{title:`Configure provider settings and collect credentials`,icon:`sliders`,children:[_jsx(_components.p,{children:`Enter the following values:`}),_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:`Name`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`orq.ai`}),` (or preferred name)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Authorization flow`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`default-provider-authorization-implicit-consent`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Confidential`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Redirect URIs / Origins`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/oidc/callback`}),` (Strict mode)`]})]})]})]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Authentik pre-generates the `,_jsx(_components.strong,{children:`Client ID`}),` and `,_jsx(_components.strong,{children:`Client Secret`}),` inside this form. Copy both values now; they are needed to configure `,_jsx(_components.strong,{children:`Orq.ai`}),` in the final step.`]})}),_jsx(Frame,{caption:`Configure OAuth2/OpenID provider`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-configure-provider.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=23b0ced08aa538a3408bfc2a09f9ed51`,alt:`Authentik OAuth2/OpenID provider configuration form showing the Client ID, Client Secret, and Redirect URI fields.`,\"data-og-width\":`1658`,width:`1658`,\"data-og-height\":`888`,height:`888`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-configure-provider.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-configure-provider.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=72ccdf6a0faef9246f63001867219876 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-configure-provider.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=dfaf5e0e68b566f8af3f7802bf3e5895 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-configure-provider.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=8121d9daa3ee78b6117448a80e92ab62 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-configure-provider.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=61738974a4985aab6cda754b88f76bc2 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-configure-provider.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ae13624ea4407979451f99ee8f50b67f 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-configure-provider.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=a33728c05a7a36fad7982e1323d1dc59 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Finish`}),`.`]})]}),_jsxs(Step,{title:`Create an application`,icon:`browser`,children:[_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Applications → Applications`}),` and click `,_jsx(_components.strong,{children:`Create`}),`.`]}),_jsx(Frame,{caption:`Authentik Applications page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=cd4f9381ea2a7e3368e086a8b638bb98`,alt:`Authentik Applications page showing the list of applications with a Create button.`,\"data-og-width\":`1461`,width:`1461`,\"data-og-height\":`826`,height:`826`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-applications-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=86b789f59eeec5db8d560a9fc176ef53 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=9638f57fbdc39e64ee31dd59815a9805 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b08bf0d45973e74b18e031fbf68cc966 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=6b1d2eeb2e614f68bedc174a1508a389 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f7ec3bd1012b00c97697d4d53bf50c77 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42fea2138829d5f267f4f3602d4f0c2c 2500w`})}),_jsx(_components.p,{children:`Enter the following:`}),_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:`Name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`orq.ai`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Slug`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`orq-ai`}),` (becomes part of the Issuer URL)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Provider`})}),_jsx(_components.td,{children:`The OAuth2/OpenID provider created in Step 1`})]})]})]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`.`]}),_jsx(Frame,{caption:`Create application`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-create-application.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=99a7251c182500c87d7392cc754774a9`,alt:`Authentik Create application form showing Name, Slug, and Provider fields.`,\"data-og-width\":`1517`,width:`1517`,\"data-og-height\":`920`,height:`920`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-create-application.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-create-application.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=28875349a3ef9574da5ca7f6ef9ec4dd 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-create-application.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c6cb7964b42466da7ae568ca6a5701d4 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-create-application.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c032028079b9dc99771265e39fa74bf8 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-create-application.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=31a13a2ebd9282b69fe5f4c434e06929 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-create-application.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=427113153b9ab81a8bd0d09f10ded9d5 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-create-application.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=9fee8abd839018f2f40569da7099e08e 2500w`})})]}),_jsxs(Step,{title:`Get the Provider URL`,icon:`link`,children:[_jsx(_components.p,{children:`The OIDC Issuer URL follows this pattern:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://{your-authentik-domain}/application/o/{application-slug}/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`For example, with Authentik at `,_jsx(_components.code,{children:`https://auth.example.com`}),` and slug `,_jsx(_components.code,{children:`orq-ai`}),`:`]}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://auth.example.com/application/o/orq-ai/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Warning,{children:_jsx(_components.p,{children:`The trailing slash on the Issuer URL is required. Authentik’s discovery endpoint fails without it.`})})]}),_jsxs(Step,{title:`Assign users`,icon:`users`,children:[_jsxs(_components.p,{children:[`Open the application, go to the `,_jsx(_components.strong,{children:`Policy / Group / User Bindings`}),` tab, and add a binding for the users or groups that should have access.`]}),_jsx(Frame,{caption:`User bindings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7a81bd658121d8d93641bf7f645a8c7e`,alt:`Authentik application Policy/Group/User Bindings tab showing a binding added for a user group.`,\"data-og-width\":`1879`,width:`1879`,\"data-og-height\":`879`,height:`879`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-user-bindings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=64be4c9688e44aedb88f218424bac808 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c05133157d850a6c18366d21ccc1ea2a 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=def2f488ac1de539de51c6e7f498c49a 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ad814a6b5047d95a4402cb39020ddfb5 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3bec6da8469ba699f43bf6f06f66c624 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7b879fac36d22d9bfa14b321ce22dc18 2500w`})}),_jsx(Note,{children:_jsxs(_components.p,{children:[`If no bindings are configured, every authenticated Authentik user can access the application. If a binding excludes the user, Authentik shows `,_jsx(_components.code,{children:`Request has been denied. Unknown error`}),` on sign-in.`]})})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`OIDC`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client ID`}),` (copied in Step 2)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client Secret`}),` (copied in Step 2)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Provider URL`}),` (the Issuer URL from Authentik, with trailing slash)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`})]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`OIDC configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=993b6152eef3ae82c9f00a65a6e4024b`,alt:`Configure Single Sign-On panel with OIDC selected for Authentik, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-oidc.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=996cfea84fc7df01de5210a680264234 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=add9e5b7a8212621eeed0b301c3f55b7 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=023582a1ed1ca4df708942392507c31e 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=aba06cc14b612f2846197e63bc9c9cac 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=699ab144ef7ba1c9d47746a9875c7879 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f9bcfd2168af67cf811edabf0201c200 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Authentik OIDC.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})}),_jsx(Tab,{title:`SAML`,icon:`shield`,id:`saml-4`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`Define the SP Entity ID`,icon:`fingerprint`,children:[_jsxs(_components.p,{children:[`Choose a unique identifier for the SP Entity ID. It must match exactly in both `,_jsx(_components.strong,{children:`Authentik`}),` and `,_jsx(_components.strong,{children:`Orq.ai`}),`. Recommended format:`]}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`urn:orq.ai:{your-workspace-key}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`For example: `,_jsx(_components.code,{children:`urn:orq.ai:example-corp`}),`.`]}),_jsx(Tip,{children:_jsx(_components.p,{children:`Write it down; it is needed in multiple steps.`})})]}),_jsxs(Step,{title:`Create a new SAML provider`,icon:`circle-plus`,children:[_jsxs(_components.p,{children:[`Log in to the `,_jsx(_components.strong,{children:`Authentik admin interface`}),` and navigate to `,_jsx(_components.strong,{children:`Applications → Providers`}),`.`]}),_jsx(Frame,{caption:`Authentik Providers page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7b975e86231129ea4be9a18b59e4a282`,alt:`Authentik Providers page listing active providers with a Create button, shown at the start of SAML provider setup.`,\"data-og-width\":`1489`,width:`1489`,\"data-og-height\":`777`,height:`777`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-providers-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=97b9225f27cfa4b2c9f556ff23a6bde0 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c38a82db69f1ac34fffaff2acb6fd504 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ef1e7736cc6ee60767aaf8d8eea43bd8 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=29f333a2c57048395ff05081ba3c3eb9 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=781900accf637d4d48e05fe3bd670448 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-providers-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=e166454234983aa5d36ed6f505e818e1 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`, select `,_jsx(_components.strong,{children:`SAML Provider`}),`, and click `,_jsx(_components.strong,{children:`Next`}),`.`]}),_jsx(Frame,{caption:`Select provider type`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-select-provider-type.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0e91b2e71ba40ceb5f7922dd8e2b7911`,alt:`Authentik provider type selection showing SAML Provider highlighted.`,\"data-og-width\":`1512`,width:`1512`,\"data-og-height\":`928`,height:`928`,\"data-path\":`images/sso/authentik_saml/authentik-saml-select-provider-type.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-select-provider-type.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b8cebdbba5bb28ecec341d3b61a2a541 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-select-provider-type.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=cf9079307ad416b7fc46979cf47d21ef 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-select-provider-type.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=4881622d6978cb35519727adab07ef3a 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-select-provider-type.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=87604c6b9c0db4e574c2ca735608c492 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-select-provider-type.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=36ecf601966639b0fc52292e992df90f 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-select-provider-type.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=80f13adc4b16ed5eb2c3fdcdd19f6524 2500w`})}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Authentik may update their admin interface over time. Refer to `,_jsx(_components.a,{href:`https://docs.goauthentik.io/`,children:`Authentik’s official documentation`}),` if any steps differ.`]})})]}),_jsxs(Step,{title:`Configure SAML provider settings`,icon:`sliders`,children:[_jsx(_components.p,{children:`Fill in the main form fields:`}),_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:`Name`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`orq.ai`}),` (or preferred name)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Authorization flow`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`default-provider-authorization-implicit-consent`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`ACS URL`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/saml/callback`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Issuer`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`authentik`}),` (default) or a descriptive identifier`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Service Provider Binding`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Post`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Audience`})}),_jsxs(_components.td,{children:[`The SP Entity ID from Step 1 (e.g., `,_jsx(_components.code,{children:`urn:orq.ai:example-corp`}),`)`]})]})]})]}),_jsxs(_components.p,{children:[`Expand `,_jsx(_components.strong,{children:`Advanced protocol settings`}),` and configure:`]}),_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:`Signing Certificate`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`authentik Self-signed Certificate`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign assertions`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`On`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign responses`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`On`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Verification Certificate`})}),_jsx(_components.td,{children:`Leave empty`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Encryption Certificate`})}),_jsx(_components.td,{children:`Leave empty`})]})]})]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sign assertions`}),` must be `,_jsx(_components.code,{children:`On`}),`. Even with the Signing Certificate pre-populated, Authentik will not sign assertions (and omits `,_jsx(_components.code,{children:`\u003cmd:KeyDescriptor>`}),` from metadata) unless this toggle is enabled. `,_jsx(_components.strong,{children:`Orq.ai`}),` rejects unsigned assertions.`]})}),_jsx(Frame,{caption:`Configure SAML provider settings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-configure-provider.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=8bb1006c0d723a0ccc4d0b8efac09b45`,alt:`Authentik SAML provider configuration form showing ACS URL, Issuer, Audience, and signing settings.`,\"data-og-width\":`1511`,width:`1511`,\"data-og-height\":`890`,height:`890`,\"data-path\":`images/sso/authentik_saml/authentik-saml-configure-provider.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-configure-provider.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=02a058289ffc9b4507189ce33fad9e87 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-configure-provider.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3023c9b6c790339dae1dac3fdcfd23db 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-configure-provider.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=900161e0e43973bb68b4ec1bc8d4fc06 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-configure-provider.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=e6432c060c1bc84121279f67d73a9969 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-configure-provider.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=2ceda534b12c54feb969d9dea1ef0561 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-configure-provider.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=35a4ab7d43e51415789e0fdb5af96b28 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Finish`}),`.`]})]}),_jsxs(Step,{title:`Create an application`,icon:`browser`,children:[_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Applications → Applications`}),` and click `,_jsx(_components.strong,{children:`Create`}),`.`]}),_jsx(Frame,{caption:`Authentik Applications page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=cd4f9381ea2a7e3368e086a8b638bb98`,alt:`Authentik Applications page listing active applications with a Create button, shown during SAML application creation.`,\"data-og-width\":`1461`,width:`1461`,\"data-og-height\":`826`,height:`826`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-applications-page.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=86b789f59eeec5db8d560a9fc176ef53 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=9638f57fbdc39e64ee31dd59815a9805 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b08bf0d45973e74b18e031fbf68cc966 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=6b1d2eeb2e614f68bedc174a1508a389 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=f7ec3bd1012b00c97697d4d53bf50c77 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-applications-page.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42fea2138829d5f267f4f3602d4f0c2c 2500w`})}),_jsx(_components.p,{children:`Enter the following:`}),_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:`Name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`orq.ai`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Slug`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`orq-ai-saml`}),` (becomes part of the SSO URL)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Provider`})}),_jsx(_components.td,{children:`The SAML provider created in Step 2`})]})]})]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`.`]}),_jsx(Frame,{caption:`Create application`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-create-application.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7abe9fa0e0195ca048fe9528d0fec7af`,alt:`Authentik Create application form showing Name, Slug, and Provider fields linked to the SAML provider.`,\"data-og-width\":`1516`,width:`1516`,\"data-og-height\":`936`,height:`936`,\"data-path\":`images/sso/authentik_saml/authentik-saml-create-application.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-create-application.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3c07f804f24c570d60a5b5c7c41e6ec1 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-create-application.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ee2735d8a5ae13f11897e9dbdab79b82 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-create-application.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ea6e186688cef3b0a39b31a79f12153c 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-create-application.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ce5de9eb9831d7b82cc536b80bf51a7a 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-create-application.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=dd82ad3faaa46f8b20f0f067a444fd46 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-create-application.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3ea44f839db145bae0230940166a2d10 2500w`})})]}),_jsxs(Step,{title:`Collect the SSO URL and certificate`,icon:`key`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Applications → Providers`}),` and click the SAML provider. In the `,_jsx(_components.strong,{children:`SAML Configuration`}),` section:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Copy the `,_jsx(_components.strong,{children:`EntityID/Issuer`}),`: this is the Identity Provider Entity ID`]}),`\n`,_jsxs(_components.li,{children:[`Copy the `,_jsx(_components.strong,{children:`SSO URL (Redirect)`}),`: use the `,_jsx(_components.strong,{children:`Redirect`}),` binding URL, not the Post one`]}),`\n`]}),_jsx(_components.p,{children:`The Redirect SSO URL follows this pattern:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://{your-authentik-domain}/application/saml/{application-slug}/sso/binding/redirect/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` issues the SAML AuthnRequest via HTTP-Redirect binding. Using the `,_jsx(_components.code,{children:`/binding/post/`}),` endpoint results in `,_jsx(_components.code,{children:`Bad Request: The SAML request payload is missing`}),`. Always use the Redirect URL.`]})}),_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Related objects`}),` section, click `,_jsx(_components.strong,{children:`Download signing certificate`}),` to save the PEM file.`]}),_jsx(Frame,{caption:`SAML provider overview`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-overview.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c17f7c2a75ffe094d11f3adbd581cc8c`,alt:`Authentik SAML provider overview showing SAML Configuration section with EntityID, SSO URLs, and a Download signing certificate button.`,\"data-og-width\":`1681`,width:`1681`,\"data-og-height\":`931`,height:`931`,\"data-path\":`images/sso/authentik_saml/authentik-saml-overview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-overview.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=2e616a775cda6cd0ed7f3ebd772b896b 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-overview.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=cb29f1535aaaaeb4ce312fbae85cf9bf 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-overview.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=6757a076841f985252398d64422dcb22 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-overview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=dfa21c2a501838199dea5fb040d511d2 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-overview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c8879dbd8b9f725a54ff29941f251a68 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_saml/authentik-saml-overview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=bee1a6629c3beeacc9880033a7d8163b 2500w`})}),_jsx(Note,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Download signing certificate`}),` button only appears after selecting a Signing Certificate and enabling Sign assertions in Step 3. If not visible, edit the provider and complete the Advanced protocol settings first.`]})})]}),_jsxs(Step,{title:`Assign users`,icon:`users`,children:[_jsxs(_components.p,{children:[`Open the application, go to the `,_jsx(_components.strong,{children:`Policy / Group / User Bindings`}),` tab, and add a binding for the users or groups that should have access.`]}),_jsx(Frame,{caption:`User bindings`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7a81bd658121d8d93641bf7f645a8c7e`,alt:`Authentik application Policy/Group/User Bindings tab showing a user group binding added for the SAML application.`,\"data-og-width\":`1879`,width:`1879`,\"data-og-height\":`879`,height:`879`,\"data-path\":`images/sso/authentik_oidc/authentik-oidc-user-bindings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=64be4c9688e44aedb88f218424bac808 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=c05133157d850a6c18366d21ccc1ea2a 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=def2f488ac1de539de51c6e7f498c49a 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=ad814a6b5047d95a4402cb39020ddfb5 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3bec6da8469ba699f43bf6f06f66c624 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/authentik_oidc/authentik-oidc-user-bindings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7b879fac36d22d9bfa14b321ce22dc18 2500w`})})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`.`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`SAML`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Service Provider Entity ID`}),` (from Step 1)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Identity Provider Entity ID`}),` (the Issuer value from Authentik)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Single Sign-On URL`}),` (the Redirect-binding SSO URL)`]}),`\n`,_jsx(_components.li,{children:`Paste the certificate downloaded from Authentik`}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`})]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`SAML configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=25560cd3f596a598af67cbdf52e4a365`,alt:`Configure Single Sign-On panel with SAML selected for Authentik, showing fields for Service Provider Entity ID, Identity Provider Entity ID, Single Sign-On URL, X.509 Certificate, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-saml.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=b7cd96fb2b6d3e9fab0e68db5775b9b3 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=39315b89933e7da8e67d5350ad7e61a9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a93f57fe7147b45f88301f002beab764 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9c04dd5d9c73fa78a71935f9d5863ddf 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5f6d0611c615a38317de9f6c27b9c579 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c46c8424dfa34f719014c1029b1c6303 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsx(_components.p,{children:`SSO is now configured. Users can sign in at:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring Authentik SAML.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})})]})}),_jsx(Accordion,{title:`Other providers`,icon:`plug`,id:`other-providers`,children:_jsxs(Tabs,{children:[_jsxs(Tab,{title:`OIDC`,icon:`bolt`,id:`oidc-5`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` works with any standards-compliant OIDC 1.0 identity provider (Auth0, Google Workspace, JumpCloud, OneLogin, Ping Identity, Duo, Rippling, Authelia, Zitadel, and others).`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`What Orq.ai requires from the IdP`})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` acts as an OIDC Relying Party using the Authorization Code flow:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Requirement`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Flow`})}),_jsx(_components.td,{children:`Authorization Code (with or without PKCE)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Application type`})}),_jsx(_components.td,{children:`Web application / Confidential client`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Grant type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`authorization_code`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Token endpoint auth method`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`client_secret_post`}),` or `,_jsx(_components.code,{children:`client_secret_basic`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Discovery`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`{issuer}/.well-known/openid-configuration`}),` must be reachable`]})]})]})]}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Register Orq.ai as an application`,icon:`circle-plus`,children:[_jsx(_components.p,{children:`In the IdP’s admin interface, register a new web application with:`}),_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:`Application type`})}),_jsx(_components.td,{children:`Web application (confidential client)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Grant type / Flow`})}),_jsx(_components.td,{children:`Authorization Code`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Redirect URI`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/oidc/callback`})})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Post-logout redirect URI`}),` (optional)`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Allowed scopes`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`openid`}),`, `,_jsx(_components.code,{children:`email`}),`, `,_jsx(_components.code,{children:`profile`})]})]})]})]}),_jsx(_components.p,{children:`Grant the IdP’s equivalent of admin consent if required.`})]}),_jsxs(Step,{title:`Configure required claims`,icon:`tags`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` expects the ID token or `,_jsx(_components.code,{children:`/userinfo`}),` endpoint to return:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Claim`}),_jsx(_components.th,{children:`Required?`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sub`})}),_jsx(_components.td,{children:`Required`}),_jsx(_components.td,{children:`Stable user identifier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`Required`}),_jsx(_components.td,{children:`User’s email address`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email_verified`})}),_jsx(_components.td,{children:`Recommended`}),_jsx(_components.td,{children:`Marks the email as verified`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`given_name`})}),_jsx(_components.td,{children:`Recommended`}),_jsx(_components.td,{children:`First name`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`family_name`})}),_jsx(_components.td,{children:`Recommended`}),_jsx(_components.td,{children:`Last name`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:`Recommended`}),_jsx(_components.td,{children:`Full display name`})]})]})]}),_jsxs(_components.p,{children:[`Most IdPs return these automatically when the `,_jsx(_components.code,{children:`profile`}),` and `,_jsx(_components.code,{children:`email`}),` scopes are granted. If the IdP requires manual claim mapping, map user-directory fields to the names above.`]})]}),_jsxs(Step,{title:`Collect configuration values`,icon:`key`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Where to Find`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client ID`})}),_jsx(_components.td,{children:`Provided by the IdP after registration`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Client Secret`})}),_jsx(_components.td,{children:`Generated by the IdP; copy immediately`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Provider URL`})}),_jsxs(_components.td,{children:[`Base URL whose `,_jsx(_components.code,{children:`/.well-known/openid-configuration`}),` returns the discovery document`]})]})]})]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`Verify the Provider URL by visiting `,_jsx(_components.code,{children:`{issuer-url}/.well-known/openid-configuration`}),` in a browser. It must return a JSON document containing `,_jsx(_components.code,{children:`authorization_endpoint`}),`, `,_jsx(_components.code,{children:`token_endpoint`}),`, `,_jsx(_components.code,{children:`jwks_uri`}),`, and `,_jsx(_components.code,{children:`issuer`}),`. The `,_jsx(_components.code,{children:`issuer`}),` field in that JSON must match exactly the URL entered in `,_jsx(_components.strong,{children:`Orq.ai`}),`.`]})})]}),_jsx(Step,{title:`Assign users`,icon:`users`,children:_jsxs(_components.p,{children:[`Use the IdP’s standard user/group assignment to grant access to the `,_jsx(_components.strong,{children:`Orq.ai`}),` application.`]})}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`:`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`OIDC`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client ID`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Client Secret`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Provider URL`}),` (the Issuer URL from the IdP)`]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`})]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`OIDC configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=993b6152eef3ae82c9f00a65a6e4024b`,alt:`Configure Single Sign-On panel with OIDC selected for a generic identity provider, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-oidc.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=996cfea84fc7df01de5210a680264234 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=add9e5b7a8212621eeed0b301c3f55b7 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=023582a1ed1ca4df708942392507c31e 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=aba06cc14b612f2846197e63bc9c9cac 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=699ab144ef7ba1c9d47746a9875c7879 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=f9bcfd2168af67cf811edabf0201c200 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsxs(_components.p,{children:[`Open a private browser window and navigate to `,_jsx(_components.code,{children:`https://my.orq.ai`}),`. The SSO login button will appear automatically.`]}),_jsx(Frame,{caption:`SSO login page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring an OIDC provider.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})]}),_jsxs(Tab,{title:`SAML`,icon:`shield`,id:`saml-5`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` works with any standards-compliant SAML 2.0 identity provider.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`What Orq.ai requires from the IdP`})}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Requirement`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`SP-initiated SSO`})}),_jsx(_components.td,{children:`Required`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`AuthnRequest binding (SP → IdP)`})}),_jsx(_components.td,{children:`HTTP-Redirect`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Response binding (IdP → SP)`})}),_jsx(_components.td,{children:`HTTP-POST to the ACS URL`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`NameID format`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Assertion signing`})}),_jsx(_components.td,{children:`Required: RSA-SHA256`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`AuthnRequest signing`})}),_jsx(_components.td,{children:`Not required`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Assertion encryption`})}),_jsx(_components.td,{children:`Not supported; leave disabled`})]})]})]}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Define the SP Entity ID`,icon:`fingerprint`,children:[_jsxs(_components.p,{children:[`Choose a unique identifier that must match exactly in both the IdP and `,_jsx(_components.strong,{children:`Orq.ai`}),`. We recommend:`]}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`urn:orq.ai:{your-workspace-key}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),_jsxs(Step,{title:`Register Orq.ai as a SAML application`,icon:`circle-plus`,children:[_jsx(_components.p,{children:`In the IdP’s admin interface, create a SAML 2.0 application with:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`IdP Field (common names)`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Audience / SP Entity ID`})}),_jsx(_components.td,{children:`The SP Entity ID from Step 1`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`ACS URL / Reply URL`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/saml/callback`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`NameID format`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`EmailAddress`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`NameID source attribute`})}),_jsx(_components.td,{children:`The user’s email address`})]})]})]})]}),_jsx(Step,{title:`Configure signing`,icon:`shield`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign assertion`})}),_jsx(_components.td,{children:`On (required)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Signature algorithm`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RSA-SHA256`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Require signed AuthnRequest`})}),_jsx(_components.td,{children:`Off`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Encrypt assertion`})}),_jsx(_components.td,{children:`Off`})]})]})]})}),_jsxs(Step,{title:`Configure attribute mappings`,icon:`tags`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` accepts a wide range of attribute name variants:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Canonical`}),_jsx(_components.th,{children:`Also accepted`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`emailAddress`}),`, `,_jsx(_components.code,{children:`mail`}),`, `,_jsx(_components.code,{children:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`}),`, `,_jsx(_components.code,{children:`urn:oid:0.9.2342.19200300.100.1.3`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`firstName`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`givenName`}),`, `,_jsx(_components.code,{children:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname`}),`, `,_jsx(_components.code,{children:`urn:oid:2.5.4.42`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lastName`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`familyName`}),`, `,_jsx(_components.code,{children:`surname`}),`, `,_jsx(_components.code,{children:`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname`}),`, `,_jsx(_components.code,{children:`urn:oid:2.5.4.4`})]})]})]})]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Many IdPs do not send name and email attributes by default. After registering the application, explicitly add attribute mappers / claim rules / attribute statements in the IdP before the assertion will contain anything `,_jsx(_components.strong,{children:`Orq.ai`}),` can read.`]})})]}),_jsxs(Step,{title:`Collect configuration values`,icon:`key`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Orq.ai Field`}),_jsx(_components.th,{children:`Common IdP Label(s)`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Identity Provider Entity ID`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Issuer`}),`, `,_jsx(_components.code,{children:`IdP Entity ID`}),`, `,_jsx(_components.code,{children:`Microsoft Entra Identifier`}),`, `,_jsx(_components.code,{children:`entityID`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Single Sign-On URL`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`SSO URL`}),`, `,_jsx(_components.code,{children:`Sign-on URL`}),`, `,_jsx(_components.code,{children:`Login URL`}),`, `,_jsx(_components.code,{children:`SingleSignOnService Location`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`X.509 Certificate`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`Signing Certificate`}),`, `,_jsx(_components.code,{children:`Token Signing Certificate`}),`, `,_jsx(_components.code,{children:`Certificate (Base64)`})]})]})]})]}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`If the IdP provides a SAML metadata XML file or URL, the IdP Entity ID, SSO URL, and certificate are all embedded inside. Use the `,_jsx(_components.code,{children:`HTTP-Redirect`}),` binding URL for the SSO URL.`]})})]}),_jsxs(Step,{title:`Configure in Orq.ai`,icon:`circle-check`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),` → `,_jsx(_components.strong,{children:`Auth`}),`:`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`SAML`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Service Provider Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Identity Provider Entity ID`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the `,_jsx(_components.strong,{children:`Single Sign-On URL`}),` (HTTP-Redirect endpoint)`]}),`\n`,_jsxs(_components.li,{children:[`Paste the `,_jsx(_components.strong,{children:`X.509 Certificate`})]}),`\n`,_jsxs(_components.li,{children:[`Enter the organization’s email domain(s) in `,_jsx(_components.strong,{children:`Allowed domains`})]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Activate`})]}),`\n`]}),_jsx(Frame,{caption:`SAML configuration form`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=25560cd3f596a598af67cbdf52e4a365`,alt:`Configure Single Sign-On panel with SAML selected for a generic identity provider, showing fields for Service Provider Entity ID, Identity Provider Entity ID, Single Sign-On URL, X.509 Certificate, and Allowed domains.`,\"data-og-width\":`3416`,width:`3416`,\"data-og-height\":`1946`,height:`1946`,\"data-path\":`images/sso/platform_config/configure-saml.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=280\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=b7cd96fb2b6d3e9fab0e68db5775b9b3 280w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=560\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=39315b89933e7da8e67d5350ad7e61a9 560w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=840\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=a93f57fe7147b45f88301f002beab764 840w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=9c04dd5d9c73fa78a71935f9d5863ddf 1100w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=5f6d0611c615a38317de9f6c27b9c579 1650w, https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eESPCIDoKN-2_GOT\u0026q=85\u0026s=c46c8424dfa34f719014c1029b1c6303 2500w`})})]}),_jsxs(Step,{title:`Test the login`,icon:`party-horn`,children:[_jsxs(_components.p,{children:[`Open a private browser window and navigate to `,_jsx(_components.code,{children:`https://my.orq.ai`}),`. The SSO login button will appear automatically.`]}),_jsx(Frame,{caption:`SSO login page`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing the Continue with SSO button after configuring a SAML provider.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})})]})]})]})]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`edit-a-connection`,children:`Edit a connection`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Click the `,_jsx(Icon,{icon:`ellipsis`}),` menu on the active SSO connection`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Edit`})]}),`\n`,_jsx(_components.li,{children:`Update the desired fields`}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Save Changes`})]}),`\n`]}),`\n`,_jsx(Frame,{caption:`Edit provider button`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-provider.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=409f3da4347226169fd4db060984a812`,alt:`Orq.ai SSO configuration page showing the three-dot menu open on an active connection with an Edit option.`,\"data-og-width\":`1679`,width:`1679`,\"data-og-height\":`993`,height:`993`,\"data-path\":`images/sso/platform_config/edit-provider.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-provider.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=6e6f0c8d3fd9e59eb15b7cc3442c1b87 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-provider.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=2e2b3eb781ce6425ab7d2d71bfcc04d5 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-provider.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=a806e667104813ccf75bfc0796bb54f3 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-provider.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=defdb28363bcebc004a253091daa6a50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-provider.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b45f26091ce3a9f2a45eda7eb6a102d5 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-provider.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3fafbc2f9a7987ccf7e2c1e51a0f5e0b 2500w`})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`To switch protocols (OIDC to SAML or vice versa), `,_jsx(_components.strong,{children:`Orq.ai`}),` confirms the switch and presents an empty form; the two configurations differ entirely. The active connection remains unchanged until `,_jsx(_components.strong,{children:`Save Changes`}),` is clicked. Cancel to preserve the current configuration.`]})}),`\n`,_jsx(Frame,{caption:`Edit configuration: switch protocol`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-sso-change-protocol.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=4ad99484b7e39355b792d01e1d3298fd`,alt:`Orq.ai SSO edit dialog showing a confirmation prompt when switching from OIDC to SAML protocol.`,\"data-og-width\":`1681`,width:`1681`,\"data-og-height\":`993`,height:`993`,\"data-path\":`images/sso/platform_config/edit-sso-change-protocol.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-sso-change-protocol.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=08dde2bf35b39c4e30295b65c2ee8eb6 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-sso-change-protocol.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=0805fe2b1ad6d5719b3878690599e9a3 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-sso-change-protocol.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=77a5a4d873e2e018c911cdbeef1f5af6 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-sso-change-protocol.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=7c958a99bffad7ce2014e698e782745a 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-sso-change-protocol.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=00efc8fd29fcdb2db98bcffb8f8ca3fe 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/platform_config/edit-sso-change-protocol.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=283f451eeac8533713dd809daa7b2fbb 2500w`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Certificate`}),` and `,_jsx(_components.strong,{children:`Client Secret`}),` fields are blank in the edit form; they update only when a new value is provided and `,_jsx(_components.strong,{children:`Save Changes`}),` is clicked.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`cross-app-access`,children:`Cross App Access`}),`\n`,_jsxs(_components.p,{children:[`Cross App Access lets an `,_jsx(_components.strong,{children:`MCP Gateway`}),` call `,_jsx(_components.a,{href:`/ai-gateway/mcp-portal/mcp-servers#enterprise-managed-authorization`,children:`enterprise-managed MCP servers`}),` on behalf of SSO users. The identity provider decides which users can access each app and issues the identity assertion grant (ID-JAG). This requires ID-JAG support at the identity provider and upstream authorization server, beyond ordinary OIDC or SAML sign-in.`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In the identity provider, enable the `,_jsx(_components.strong,{children:`Refresh Token`}),` grant for the client used by `,_jsx(_components.strong,{children:`Orq.ai`}),`.`]}),`\n`,_jsx(_components.li,{children:`Configure access to each upstream app and assign the users allowed to use it.`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`#edit-a-connection`,children:`Edit the SSO connection`}),`. Under `,_jsx(_components.strong,{children:`Cross App Access`}),`, turn on `,_jsx(_components.strong,{children:`Access other apps with SSO`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Configure the client according to the SSO protocol:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`OIDC`}),`: Cross App Access reuses the SSO connection’s provider URL, client ID, and client secret.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SAML`}),`: enter the `,_jsx(_components.strong,{children:`Provider URL`}),`, `,_jsx(_components.strong,{children:`Client ID`}),`, and `,_jsx(_components.strong,{children:`Client Secret`}),` of an OIDC client at the same identity provider. The provider must allow that client to exchange SAML assertions for refresh tokens and request cross-app access.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Save Changes`}),`, then ask users to sign in through SSO again.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`With OIDC, `,_jsx(_components.strong,{children:`Orq.ai`}),` requests `,_jsx(_components.code,{children:`offline_access`}),` during sign-in to obtain a refresh token. With SAML, it exchanges the SAML assertion for a refresh token. Earlier sign-ins do not carry the required credentials.`]}),`\n`,_jsxs(_components.p,{children:[`For SAML connections, enter a new Cross App Access client secret when changing its `,_jsx(_components.strong,{children:`Provider URL`}),` or `,_jsx(_components.strong,{children:`Client ID`}),`. Leave the secret blank only when keeping the same client and provider.`]}),`\n`,_jsxs(_components.p,{children:[`After enabling Cross App Access, `,_jsx(_components.a,{href:`/ai-gateway/mcp-portal/mcp-servers#enterprise-managed-authorization`,children:`configure the MCP server’s authorization settings`}),`. Turning it off blocks new enterprise-managed server configurations and new identity assertion grants. Existing server settings remain editable; already-issued upstream tokens can remain usable until they expire.`]}),`\n`,_jsx(Heading,{level:`2`,id:`sso-enforcement`,children:`SSO Enforcement`}),`\n`,_jsx(_components.p,{children:`Email login codes and social sign-in (Microsoft, Google) are refused while SSO is enforced: no code email is sent, and the attempt is rejected with “This workspace requires SSO login. Please use your SSO provider to sign in.”`}),`\n`,_jsx(_components.p,{children:`Enforcement applies to a member whose account belongs to this workspace alone; a member of several workspaces is unaffected.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Orq.ai`}),` applies enforcement to the workspace’s SSO connection. Reach out to `,_jsx(_components.a,{href:`mailto:support@orq.ai`,children:`support@orq.ai`}),` to enable it, or remove or disable the connection to end it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`scim-provisioning`,children:`SCIM Provisioning`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`SCIM`}),` 2.0 lets the identity provider push members, groups, and removals into `,_jsx(_components.strong,{children:`Orq.ai`}),` instead of inviting people by hand and removing them one at a time. It complements SSO rather than replacing it: SSO signs a person in, SCIM keeps their access current between sign-ins. SSO creates a member the first time they sign in; SCIM creates them before their first sign-in and removes them when the provider does.`]}),`\n`,_jsxs(_components.p,{children:[`SCIM works with any enabled SSO connection, `,_jsx(_components.strong,{children:`OIDC`}),` or `,_jsx(_components.strong,{children:`SAML`}),`, and can be enabled on one connection per workspace. Requests receive `,_jsx(_components.code,{children:`401`}),` once the connection is disabled or deleted.`]}),`\n`,_jsx(Heading,{level:`3`,id:`endpoint-and-token`,children:`Endpoint and Token`}),`\n`,_jsx(_components.p,{children:`Point the identity provider’s provisioning client at the SCIM base URL:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`https://my.orq.ai/v2/auth/scim`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Mint a bearer token for it as a workspace `,_jsx(_components.strong,{children:`Admin`}),`, or with an API key granted the `,_jsx(_components.strong,{children:`SCIM`}),` permission. The token is scoped to one SSO configuration and is returned once, in `,_jsx(_components.code,{children:`scim_\u003chex>`}),` form. Read the `,_jsx(_components.code,{children:`sso-config-id`}),` from the `,_jsx(_components.code,{children:`_id`}),` field of the response:`]}),`\n`,_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`curl`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` https://my.orq.ai/v2/auth/sso`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`$ORQ_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`})]}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`curl`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -X`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` POST`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` https://my.orq.ai/v2/auth/sso/`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`sso-config-i`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`d`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`>`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`/scim/token`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`$ORQ_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`})]}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Operation`}),_jsx(_components.th,{children:`Request`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create a token`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /v2/auth/sso/{sso-config-id}/scim/token`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Rotate the token (previous token valid for one hour)`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /v2/auth/sso/{sso-config-id}/scim/token/rotate`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Read token metadata, including last use`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /v2/auth/sso/{sso-config-id}/scim/token`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Revoke the token`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DELETE /v2/auth/sso/{sso-config-id}/scim/token`})})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`what-scim-changes`,children:`What SCIM Changes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`SCIM request`}),_jsx(_components.th,{children:`Effect in Orq.ai`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create a user`}),_jsxs(_components.td,{children:[`Adds the member to the workspace, creating the account when the email is new. The member gets the `,_jsx(_components.strong,{children:`Developer`}),` role and the workspace’s default projects, and no invitation email is sent.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Update a user`}),_jsxs(_components.td,{children:[`Updates the email, name, `,_jsx(_components.code,{children:`externalId`}),`, or active state.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Deactivate a user (`,_jsx(_components.code,{children:`active: false`}),`)`]}),_jsxs(_components.td,{children:[`Deactivates the membership, revokes the user’s API keys, and records `,_jsx(_components.code,{children:`deprovisioned`}),` in `,_jsx(_components.a,{href:`/ai-studio/organization/audit-logs`,children:`Audit Logs`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Delete a user`}),_jsxs(_components.td,{children:[`Removes the workspace membership, deletes the account when no other workspace uses it, revokes the user’s API keys, and records `,_jsx(_components.code,{children:`deprovisioned`}),` in `,_jsx(_components.a,{href:`/ai-studio/organization/audit-logs`,children:`Audit Logs`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create a group`}),_jsxs(_components.td,{children:[`Creates a `,_jsx(_components.strong,{children:`Team`}),` named after the group’s `,_jsx(_components.code,{children:`displayName`}),`, with the users in `,_jsx(_components.code,{children:`members`}),` as its members.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Update a group`}),_jsxs(_components.td,{children:[`Renames the team and replaces its members with the group’s `,_jsx(_components.code,{children:`members`}),`.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/ai-studio/organization/members-teams`,children:`Members and teams`}),` for roles, teams, and project access.`]}),`\n`,_jsx(Heading,{level:`3`,id:`attribute-mapping`,children:`Attribute Mapping`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`SCIM user attribute`}),_jsx(_components.th,{children:`Orq.ai`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`userName`}),` (required)`]}),_jsx(_components.td,{children:`The member’s email, and their sign-in identity`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`name.givenName`}),`, `,_jsx(_components.code,{children:`name.familyName`})]}),_jsx(_components.td,{children:`First and last name`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`active`})}),_jsx(_components.td,{children:`Whether the membership is active`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`externalId`})}),_jsx(_components.td,{children:`Stored as the provider’s own identifier for the member`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`emails`})}),_jsxs(_components.td,{children:[`Not read on write; responses carry the email from `,_jsx(_components.code,{children:`userName`})]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A SCIM `,_jsx(_components.strong,{children:`Group`}),` is an `,_jsx(_components.strong,{children:`Orq.ai`}),` `,_jsx(_components.strong,{children:`Team`}),`. The group’s `,_jsx(_components.code,{children:`displayName`}),` becomes the team’s name, and the users listed in `,_jsx(_components.code,{children:`members`}),` become that team’s members. The team then appears under `,_jsx(_components.strong,{children:`Settings → Organization → Teams`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`SCIM group attribute`}),_jsx(_components.th,{children:`Orq.ai`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`displayName`}),` (required)`]}),_jsxs(_components.td,{children:[`The name of the `,_jsx(_components.strong,{children:`Team`}),` the group creates`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`members`})}),_jsxs(_components.td,{children:[`The team’s members. Each entry is `,_jsx(_components.code,{children:`{ \"value\": \"\u003cuser id>\" }`}),`, where `,_jsx(_components.code,{children:`\u003cuser id>`}),` is the SCIM `,_jsx(_components.code,{children:`id`}),` of a workspace member, the same value returned by `,_jsx(_components.code,{children:`/Users`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`externalId`})}),_jsx(_components.td,{children:`Stored as the provider’s own identifier for the team`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`For example, when a group named `,_jsx(_components.strong,{children:`Engineering`}),` with two members is created in the provider, the provider sends this `,_jsx(_components.code,{children:`POST /Groups`}),` request and `,_jsx(_components.strong,{children:`Orq.ai`}),` creates a team named `,_jsx(_components.strong,{children:`Engineering`}),` with those two members:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"schemas\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: [`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"urn:ietf:params:scim:schemas:core:2.0:Group\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"displayName\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Engineering\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"externalId\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"00g1abc2def3\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"members\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` { `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"value\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"6f3d2e1a-4b5c-4d6e-8f90-1a2b3c4d5e6f\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` { `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"value\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"9c8b7a65-4d3e-4f2a-9b1c-0d9e8f7a6b5c\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Only each entry’s `,_jsx(_components.code,{children:`value`}),` is read; any `,_jsx(_components.code,{children:`display`}),` the provider sends is ignored. The same mapping applies on `,_jsx(_components.code,{children:`PUT /Groups/{id}`}),`, where the group’s `,_jsx(_components.code,{children:`members`}),` replace the team’s members.`]}),`\n`,_jsx(Heading,{level:`3`,id:`supported-operations`,children:`Supported Operations`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`Support`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`List, create, read, update, and delete Users and Groups`}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`PATCH`}),` on `,_jsx(_components.code,{children:`active`}),`, `,_jsx(_components.code,{children:`userName`}),`, `,_jsx(_components.code,{children:`externalId`}),`, `,_jsx(_components.code,{children:`name.givenName`}),`, `,_jsx(_components.code,{children:`name.familyName`}),` for users, and on `,_jsx(_components.code,{children:`displayName`}),` and `,_jsx(_components.code,{children:`members`}),` for groups`]}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`Filter on `,_jsx(_components.code,{children:`userName`}),`, `,_jsx(_components.code,{children:`email`}),`, and `,_jsx(_components.code,{children:`active`}),` with `,_jsx(_components.code,{children:`eq`}),`, `,_jsx(_components.code,{children:`sw`}),`, `,_jsx(_components.code,{children:`co`}),`, up to 100 results`]}),_jsx(_components.td,{children:`Yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Bulk operations`}),_jsx(_components.td,{children:`No`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Sorting and ETags`}),_jsx(_components.td,{children:`No`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Change password`}),_jsx(_components.td,{children:`No`})]})]})]}),`\n`,_jsx(_components.p,{children:`Requests are limited to 500 per minute per workspace, and failed authentications to 10 per minute per IP address.`}),`\n`,_jsx(Heading,{level:`2`,id:`testing`,children:`Testing`}),`\n`,_jsx(_components.p,{children:`Before rolling out to the entire organization:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Test the configuration with a single user`}),`\n`,_jsxs(_components.li,{children:[`Verify the user is created in `,_jsx(_components.strong,{children:`Orq.ai`}),` on first sign-in`]}),`\n`,_jsx(_components.li,{children:`Confirm the user’s profile information (name, email) is correct`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Users sign in at:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://my.orq.ai/{your-workspace-key}/login`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Frame,{caption:`SSO login`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=1b7337671332e0411a92b2963185452c`,alt:`Orq.ai login page showing a Continue with SSO provider button that loads when an active SSO connection is configured.`,\"data-og-width\":`1901`,width:`1901`,\"data-og-height\":`992`,height:`992`,\"data-path\":`images/sso/sso_login/sso-login-agnostic.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=280\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=d281c061d779acb84748c1fb9dff357c 280w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=560\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=3369771615e839739488a1fd98fc3fb2 560w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=840\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=42d7703e103bc2925cd17b27dde9c3d0 840w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1100\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=aa68bed108b7cf39b221d3583e486d50 1100w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=1650\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=b9065f2b0bacc6ea26522734324fbe63 1650w, https://mintcdn.com/orqai/3prGSMBQVxQFUZZt/images/sso/sso_login/sso-login-agnostic.png?w=2500\u0026fit=max\u0026auto=format\u0026n=3prGSMBQVxQFUZZt\u0026q=85\u0026s=92513c8f0847f4c067cefa13696192b0 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Redirect URI mismatch`,icon:`link-slash`,id:`redirect-uri-mismatch`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` “redirect_uri_mismatch” or “Invalid redirect URI”`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Verify the callback URL in the IdP exactly matches:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`OIDC:`}),` `,_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/oidc/callback`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`SAML:`}),` `,_jsx(_components.code,{children:`https://my.orq.ai/v2/auth/sso/saml/callback`})]}),`\n`]}),_jsxs(_components.p,{children:[`Common mistakes: extra slash at end, `,_jsx(_components.code,{children:`http://`}),` instead of `,_jsx(_components.code,{children:`https://`}),`, typo in URL.`]})]}),_jsxs(Accordion,{title:`Entity ID mismatch (SAML)`,icon:`fingerprint`,id:`entity-id-mismatch-saml`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` “Audience restriction” or “Invalid audience”`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Verify the SP Entity ID matches exactly in both the IdP and `,_jsx(_components.strong,{children:`Orq.ai`}),` configuration. It is case-sensitive.`]})]}),_jsxs(Accordion,{title:`Invalid client secret (OIDC)`,icon:`key`,id:`invalid-client-secret-oidc`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` “invalid_client” or “unauthorized_client”`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Regenerate the client secret in the IdP and update it in `,_jsx(_components.strong,{children:`Orq.ai`}),`. Copy the secret immediately after creation.`]})]}),_jsxs(Accordion,{title:`User not assigned`,icon:`user-slash`,id:`user-not-assigned`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` User cannot see the app or gets “access denied”`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solution:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Okta:`}),` Go to application → Assignments and assign the user or their group`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Azure:`}),` Go to Enterprise application → Users and groups → Add user/group`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Keycloak:`}),` Open the client → Roles tab, create roles, and assign them to the user under Role mappings`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Authentik:`}),` Open the application → Policy / Group / User Bindings and add a binding`]}),`\n`]})]}),_jsxs(Accordion,{title:`Certificate expired (SAML)`,icon:`certificate`,id:`certificate-expired-saml`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` SAML authentication suddenly stops working`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Solution:`})}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Download a new certificate from the IdP`}),`\n`,_jsxs(_components.li,{children:[`Update the certificate in `,_jsx(_components.strong,{children:`Orq.ai`}),` (AI Studio → Settings → Auth → Edit)`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Save Changes`})]}),`\n`]})]}),_jsxs(Accordion,{title:`Email domain not allowed`,icon:`envelope`,id:`email-domain-not-allowed`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` “Email domain not allowed”`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` Add the user’s email domain to `,_jsx(_components.strong,{children:`Allowed domains`}),` in the `,_jsx(_components.strong,{children:`Orq.ai`}),` SSO configuration. Separate multiple domains with commas (e.g., `,_jsx(_components.code,{children:`acme.com, acme.io`}),`).`]})]}),_jsxs(Accordion,{title:`Missing email claim (Azure OIDC)`,icon:`at`,id:`missing-email-claim-azure-oidc`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` Authentication succeeds but user has no email`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` `,_jsx(_components.strong,{children:`Orq.ai`}),` automatically requests the `,_jsx(_components.code,{children:`User.Read`}),` Microsoft Graph scope. Verify this permission is granted:`]}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Go to API permissions in the app registration`}),`\n`,_jsxs(_components.li,{children:[`Verify `,_jsx(_components.code,{children:`User.Read`}),` is present`]}),`\n`,_jsx(_components.li,{children:`Click “Grant admin consent” if needed`}),`\n`]})]}),_jsxs(Accordion,{title:`Invalid signature or login bounces back (Keycloak SAML)`,icon:`shield-xmark`,id:`invalid-signature-or-login-bounces-back-keycloak-saml`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` “Invalid signature on document” or login redirects back to Keycloak`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` The SAML client’s `,_jsx(_components.strong,{children:`Client signature required`}),` (Keys tab) is `,_jsx(_components.code,{children:`On`}),`. Turn it `,_jsx(_components.code,{children:`Off`}),`; `,_jsx(_components.strong,{children:`Orq.ai`}),` does not sign outbound AuthnRequests.`]})]}),_jsxs(Accordion,{title:`Missing name or email in Orq.ai profile (Keycloak/Authentik SAML)`,icon:`user`,id:`missing-name-or-email-in-orq-ai-profile-keycloak-authentik-saml`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Symptom:`}),` User signs in but first name, last name, or email are missing in `,_jsx(_components.strong,{children:`Orq.ai`})]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` The SAML client has no attribute mappers. For `,_jsx(_components.strong,{children:`Keycloak`}),`, add X500 predefined mappers to the dedicated client scope. For `,_jsx(_components.strong,{children:`Authentik`}),`, ensure Sign assertions is `,_jsx(_components.code,{children:`On`}),` in the provider’s Advanced protocol settings.`]})]}),_jsxs(Accordion,{title:`SAML request payload missing (Authentik)`,icon:`envelope-open`,id:`saml-request-payload-missing-authentik`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` “Bad Request: The SAML request payload is missing”`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` The SSO URL points at `,_jsx(_components.code,{children:`/binding/post/`}),`. Switch to the `,_jsx(_components.code,{children:`/binding/redirect/`}),` URL; `,_jsx(_components.strong,{children:`Orq.ai`}),` sends AuthnRequests via HTTP-Redirect.`]})]}),_jsxs(Accordion,{title:`HTTP issuer rejected`,icon:`triangle-exclamation`,id:`http-issuer-rejected`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Error:`}),` Issuer URL rejected`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Solution:`}),` `,_jsx(_components.strong,{children:`Orq.ai`}),` rejects `,_jsx(_components.code,{children:`http://`}),` issuers in production. The identity provider must be served over HTTPS.`]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`need-help`,children:`Need Help?`}),`\n`,_jsxs(_components.p,{children:[`Contact `,_jsx(_components.a,{href:`mailto:support@orq.ai`,children:`support@orq.ai`}),` with:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Workspace key`}),`\n`,_jsx(_components.li,{children:`Identity provider and protocol (e.g., “Keycloak SAML”)`}),`\n`,_jsx(_components.li,{children:`Error message or screenshot`}),`\n`]})]})}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":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Enterprise SSO authentication","sidebarTitle":"Single Sign-On","description":"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.","keywords":["sso","single sign-on","saml","oidc","scim","scim provisioning","deprovisioning","user provisioning","okta","entra id","azure ad","keycloak","authentik"],"tag":"Enterprise","href":"/ai-studio/organization/sso"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Choose a Protocol","slug":"choose-a-protocol","depth":2,"children":[]},{"title":"Configure SSO in Orq.ai","slug":"configure-sso-in-orq-ai","depth":2,"children":[{"title":"Navigate to Auth settings","slug":"navigate-to-auth-settings","depth":3,"children":[]},{"title":"Connect a provider","slug":"connect-a-provider","depth":3,"children":[]},{"title":"Edit a connection","slug":"edit-a-connection","depth":3,"children":[]}]},{"title":"Cross App Access","slug":"cross-app-access","depth":2,"children":[]},{"title":"SSO Enforcement","slug":"sso-enforcement","depth":2,"children":[]},{"title":"SCIM Provisioning","slug":"scim-provisioning","depth":2,"children":[{"title":"Endpoint and Token","slug":"endpoint-and-token","depth":3,"children":[]},{"title":"What SCIM Changes","slug":"what-scim-changes","depth":3,"children":[]},{"title":"Attribute Mapping","slug":"attribute-mapping","depth":3,"children":[]},{"title":"Supported Operations","slug":"supported-operations","depth":3,"children":[]}]},{"title":"Testing","slug":"testing","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[{"title":"Need Help?","slug":"need-help","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/orqai/19ee3574279bbaa0/gtm.js","/_mintlify/custom/orqai/1f1a49b99957b631/commonroom-signals.js"],"subdomain":"orqai","siteName":"Orq.ai Documentation","title":"Enterprise SSO authentication - Orq.ai Documentation","contextualStarterQuestions":[{"_id":"6ae0d63784b73547c46af3a7","deploymentId":"68c9bcd7a1b07562da8b036b","questionText":"How do I set up enterprise SSO?","status":"active","generatedBy":"contextual","path":"ai-studio/organization/sso","createdAt":"2026-10-27T16:49:59.934Z","updatedAt":"2026-10-27T16:49:59.934Z","__v":0},{"_id":"6ae0d63784b73547c46af3a8","deploymentId":"68c9bcd7a1b07562da8b036b","questionText":"How does SCIM provisioning work?","status":"active","generatedBy":"contextual","path":"ai-studio/organization/sso","createdAt":"2026-10-27T16:49:59.934Z","updatedAt":"2026-10-27T16:49:59.934Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T16:49:53.052Z","originalFileLocation":"ai-studio/organization/sso.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=\"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Orq.ai Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/orqai/5zquLIiRlftT1q7X/_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/orqai/5zquLIiRlftT1q7X/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/orqai/5zquLIiRlftT1q7X/_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/orqai/5zquLIiRlftT1q7X/_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/orqai/5zquLIiRlftT1q7X/_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/orqai/5zquLIiRlftT1q7X/_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/orqai/5zquLIiRlftT1q7X/_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/orqai/5zquLIiRlftT1q7X/_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/orqai/5zquLIiRlftT1q7X/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Enterprise SSO authentication - Orq.ai Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Orq.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.orq.ai/ai-studio/organization/sso\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://orqai.mintlify.site/_mintlify/api/og/v2?division=Identity+%26+Access\u0026amp;title=Enterprise+SSO+authentication\u0026amp;description=Configure+enterprise+Single+Sign-On+for+Orq.ai+using+any+OIDC+or+SAML+provider%2C+and+provision+members+and+teams+from+the+provider+with+SCIM.\u0026amp;theme=0116d0baa6ba6403f431e631\u0026amp;signature=fe7428cd045e88a5a51b09fb6175f2d4786deb12f5992cfdf67a6d87252d3a2d\">\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=\"Enterprise SSO authentication - Orq.ai Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://orqai.mintlify.site/_mintlify/api/og/v2?division=Identity+%26+Access\u0026amp;title=Enterprise+SSO+authentication\u0026amp;description=Configure+enterprise+Single+Sign-On+for+Orq.ai+using+any+OIDC+or+SAML+provider%2C+and+provision+members+and+teams+from+the+provider+with+SCIM.\u0026amp;theme=0116d0baa6ba6403f431e631\u0026amp;signature=fe7428cd045e88a5a51b09fb6175f2d4786deb12f5992cfdf67a6d87252d3a2d\">\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/orqai/5zquLIiRlftT1q7X/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Orq.ai Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#027f6b\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"author\" content=\"Orq.ai\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@orq_ai\">\u003cmeta data-mint-head name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\u003cmeta data-mint-head name=\"language\" content=\"English\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.orq.ai/ai-studio/organization/sso\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ai-studio/organization/sso.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.orq.ai/#organization\",\"name\":\"Orq.ai\",\"legalName\":\"Orq.AI Holding B.V.\",\"url\":\"https://orq.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.orq.ai/images/Orq_ai_Symbol_Dark.svg\"},\"sameAs\":[\"https://github.com/orq-ai\",\"https://x.com/orq_ai\",\"https://www.linkedin.com/company/orqai/\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.orq.ai#website\",\"name\":\"Orq.ai Documentation\",\"url\":\"https://docs.orq.ai\",\"publisher\":{\"@id\":\"https://docs.orq.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.orq.ai/ai-studio/organization/sso#webpage\",\"url\":\"https://docs.orq.ai/ai-studio/organization/sso\",\"name\":\"Enterprise SSO authentication\",\"description\":\"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.\",\"dateModified\":\"2026-10-27T16:49:53.052Z\",\"isPartOf\":{\"@id\":\"https://docs.orq.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.orq.ai/ai-studio/organization/sso#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.orq.ai/ai-studio/organization/sso#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Identity \u0026 Access\",\"item\":\"https://docs.orq.ai/ai-studio/organization/members-teams\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enterprise SSO authentication\",\"item\":\"https://docs.orq.ai/ai-studio/organization/sso\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.orq.ai/ai-studio/organization/sso#article\",\"headline\":\"Enterprise SSO authentication\",\"name\":\"Enterprise SSO authentication\",\"description\":\"Configure enterprise Single Sign-On for Orq.ai using any OIDC or SAML provider, and provision members and teams from the provider with SCIM.\",\"url\":\"https://docs.orq.ai/ai-studio/organization/sso\",\"mainEntityOfPage\":{\"@id\":\"https://docs.orq.ai/ai-studio/organization/sso#webpage\"},\"dateModified\":\"2026-10-27T16:49:53.052Z\",\"keywords\":\"sso, single sign-on, saml, oidc, scim, scim provisioning, deprovisioning, user provisioning, okta, entra id, azure ad, keycloak, authentik\",\"publisher\":{\"@id\":\"https://docs.orq.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.orq.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Orq.ai Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Orq.ai Documentation","nav":{"global":null,"tabs":[{"tab":"AI Gateway","pages":[{"title":"AI Gateway","href":"/ai-gateway/get-started/introduction"}]},{"tab":"AI Observability","pages":[{"title":"AI Observability","href":"/ai-studio/observability/quickstart"}]},{"tab":"Managed agents","pages":[{"title":"Managed agents","href":"/ai-studio/ai-engineering/quickstart"}]},{"tab":"Administration","groups":[{"group":"Workspace \u0026 Projects","icon":"building","pages":[{"title":"General Settings","href":"/ai-studio/organization/workspace-settings"},{"title":"Projects in Orq.ai","sidebarTitle":"Projects","href":"/ai-studio/get-started/projects"},{"title":"Favorites","sidebarTitle":"Favorites","href":"/ai-studio/get-started/favorites"},{"title":"Customize the sidebar","sidebarTitle":"Sidebar","href":"/ai-studio/get-started/sidebar"},{"title":"Tabs","sidebarTitle":"Tabs","href":"/ai-studio/get-started/tabs"},{"title":"Chat","sidebarTitle":"Using Chat","href":"/ai-studio/ai-chat/using-chat"}]},{"group":"Identity \u0026 Access","icon":"users-gear","pages":[{"title":"Members and teams","sidebarTitle":"Members and Teams","href":"/ai-studio/organization/members-teams"},{"title":"API Keys","sidebarTitle":"API Keys","href":"/ai-studio/organization/api-keys"},{"title":"Management Keys","sidebarTitle":"Management Keys","href":"/ai-studio/organization/management-keys"},{"title":"Workspace Audit Logs","sidebarTitle":"Audit Logs","description":"Monitor organization activities and changes. Track who did what, when they did it, and what was affected for compliance and security.","href":"/ai-studio/organization/audit-logs"},{"title":"Enterprise SSO authentication","sidebarTitle":"Single Sign-On","tag":"Enterprise","href":"/ai-studio/organization/sso"},{"title":"Workload federation","sidebarTitle":"Workload federation","description":"Exchange an OIDC token from a CI pipeline or service for a short-lived Orq.ai API key, so no Orq.ai secret is stored in the workload.","tag":"Enterprise","href":"/ai-studio/organization/workload-federation"},{"title":"Environments for dev, staging, and production","sidebarTitle":"Environments","href":"/ai-studio/organization/environments"},{"title":"Webhooks for real-time notifications","sidebarTitle":"Webhooks","href":"/ai-studio/organization/webhooks"}]},{"group":"Billing \u0026 Usage","icon":"wallet","pages":[{"title":"Pricing","url":"https://orq.ai/pricing","href":"/pricing"},{"title":"Billing and credits","sidebarTitle":"Billing \u0026 Credits","href":"/ai-studio/organization/billing-usage"},{"title":"Budgets","sidebarTitle":"Budgets","href":"/ai-gateway/budgets"}]},{"group":"Security \u0026 Compliance","icon":"shield-halved","pages":[{"title":"Secrets management","sidebarTitle":"Secrets","href":"/ai-studio/organization/secrets"},{"title":"Workspace security controls","sidebarTitle":"Workspace Security","href":"/ai-studio/organization/workspace-security"},{"title":"Data compliance and privacy","sidebarTitle":"Data Compliance","href":"/ai-studio/organization/data-compliance"},{"title":"Data retention","sidebarTitle":"Data Retention","href":"/ai-studio/organization/data-retention"},{"title":"Plugins","sidebarTitle":"Plugins","href":"/ai-gateway/features/plugins/overview"},{"title":"Trust center and compliance","sidebarTitle":"Trust Center","href":"/enterprise/trust"},{"title":"Governing Shadow AI","sidebarTitle":"Shadow AI","href":"/enterprise/shadow-ai"}]},{"group":"Support","icon":"clipboard-check","pages":[{"title":"Status and support","sidebarTitle":"Status \u0026 Support","href":"/status-and-support"}]},{"group":"Enterprise Deployment","icon":"cloud","pages":[{"title":"Deployment Options","href":"/enterprise/deployment-options"},{"title":"VPC deployment on AWS or Azure","sidebarTitle":"VPC Deployment","href":"/enterprise/vpc-deployment"},{"title":"On-premise deployment requirements","sidebarTitle":"On-Prem Requirements","href":"/enterprise/on-prem-requirements"},{"title":"Agent sandbox for on-premise","sidebarTitle":"Agent Sandbox","href":"/enterprise/agent-sandbox"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/ai-studio/integrations/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/client-libraries"}]},{"tab":"Cookbooks","hidden":true,"pages":[{"title":"Cookbooks","href":"/ai-studio/cookbooks/cookbooks"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/release-4-17"}]}]},"basePath":"","title":"Enterprise SSO authentication - Orq.ai Documentation","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CK6QbnxT.js","DynamicMarkdown-BKiHAm_d.js","zoom-image-lightbox-CLQdF-Ar.js","lightbox-handle-r17bVUz3.js"]}