Skip to main content
Feature available with the Enterprise Plan Connect 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.

Choose a Protocol

Two protocols are available:
  • OIDC: Modern, lightweight protocol based on OAuth 2.0. Recommended for most organizations for its quick setup and JSON-based authentication.
  • SAML: XML-based protocol recommended for enterprise environments requiring fine-grained control over security attributes and assertions.

Configure SSO in Orq.ai

  1. Navigate to SettingsAuth in the AI Gateway sidebar
Orq.ai Authentication settings page showing available SSO provider options, each with a Configure button.
Only one SSO connection can be active at a time. To switch providers, disconnect the current connection first.

Connect a provider

Click Add SSO Connection, select the protocol, and follow the guide for the identity provider:

Create an OIDC app in Okta

Sign in to the Okta Admin Console and navigate to Applications → Applications.
Okta Admin Console Applications page showing the list of active applications with a Create App Integration button.
Click Create App Integration, then select OIDC - OpenID Connect and Web Application, and click Next.
Create a new app integration dialog with OIDC-OpenID Connect selected as sign-in method and Web Application as application type.
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
    
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.
New Web App Integration page showing the Assignments section with Skip group assignment for now selected and a Save button.

Assign users

Go to the Assignments tab and click AssignAssign to People or Assign to Groups.Select the users or groups that should have access to Orq.ai, then click Done.
Okta orq.ai application Assignments tab with the Assign dropdown open, showing Assign to People and Assign to Groups options.
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
Okta orq.ai application General tab showing Client Credentials with Client ID and a client secret listed under CLIENT SECRETS.

Get the Provider URL

The Provider URL is the Okta domain’s authorization server issuer URL:
https://{yourOktaDomain}/oauth2/default
Find the Okta domain in the top-right corner of the Okta Admin Console (e.g. acme.okta.com).

Configure in Orq.ai

Navigate to SettingsAuth in the AI Gateway.
Orq.ai Authentication settings page showing available SSO providers, each with a Configure button.
Enter the credentials collected from Okta:
  1. Select OIDC (selected by default)
  2. Enter the Client ID
  3. Enter the Client Secret
  4. Enter the Provider URL
  5. Enter the organization’s email domain(s) in Allowed domains (e.g., orq.ai)
  6. Click Activate
Configure Single Sign-On panel with OIDC selected for Okta, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.

Test the login

SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
Orq.ai login page showing the Continue with SSO button after configuring Okta OIDC.

Register an application in Azure

Sign in to the Azure portal and navigate to Microsoft Entra ID → App registrations.
Azure Default Directory App registrations page with no applications registered and a Register an application button.
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 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.

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.
Azure orq.ai application overview showing the Application ID and Tenant ID in the Essentials section.
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.
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.
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.
Certificates and secrets page showing the newly created orq.ai SSO client secret with its expiry date.

Get the Provider URL

The Provider URL is the tenant’s issuer URL:
https://login.microsoftonline.com/{tenant-id}/v2.0
Replace {tenant-id} with the Directory (tenant) ID, found on the app registration overview page.
Azure orq.ai application overview showing the Directory (tenant) ID in the Essentials section.

Configure API permissions

Go to API permissions and ensure these Microsoft Graph permissions are granted:
  • openid
  • email
  • profile
Azure API permissions page with the Request API permissions panel open, showing Microsoft Graph delegated permissions including email, openid, profile, and User.Read.
Click Grant admin consent if required by the organization.
Azure API permissions page showing configured Microsoft Graph delegated permissions: email, openid, profile, and User.Read.
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

Navigate to SettingsAuth in the AI Gateway.Enter the credentials collected from Azure:
  1. Select OIDC (selected by default)
  2. Enter the Client ID
  3. Enter the Client Secret
  4. Enter the Provider URL
  5. Enter the organization’s email domain(s) in Allowed domains (e.g., acme.com)
  6. Click Activate
Configure Single Sign-On panel with OIDC selected for Microsoft Entra ID, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.

Test the login

SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
Orq.ai login page showing the Continue with SSO button after configuring Microsoft Entra ID OIDC.

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.
Keycloak may update their admin console interface over time. Refer to Keycloak’s official documentation if any steps differ.

Create a new client

In the chosen realm, navigate to Clients and click Create client.
Keycloak Clients page showing the list of clients with a Create client button.
Configure the General Settings:
FieldValue
Client typeOpenID Connect
Client IDorq-ai (or preferred identifier)
Nameorq.ai (optional display name)
Click Next.
Keycloak Create client General Settings form showing Client type set to OpenID Connect and Client ID set to orq-ai.

Configure capability config

Enable the following:
FieldValue
Client authenticationOn
Standard flowOn
Leave Direct access grants, Implicit flow, and Service accounts roles off unless the organization requires them. Click Next.
Keycloak capability config step showing Client authentication On and Standard flow On.

Configure login settings

Enter the following:
FieldValue
Valid redirect URIshttps://my.orq.ai/v2/auth/sso/oidc/callback
Web originshttps://my.orq.ai
Click Save.
Keycloak Login settings form showing Valid redirect URIs and Web origins fields configured for orq.ai.

Collect the Client Secret

Open the client just created, go to the Credentials tab, and copy the Client Secret.
Keycloak Credentials tab showing the Client Secret field with a Copy button.

Collect configuration values

The OIDC Issuer URL follows this pattern:
https://{your-keycloak-domain}/realms/{realm-name}
For example, with Keycloak at https://auth.example.com and realm orq-prod:
https://auth.example.com/realms/orq-prod
Verify the Provider URL by visiting {issuer-url}/.well-known/openid-configuration in a browser; it should return a JSON discovery document.
FieldWhere to Find
Client IDThe Client ID entered in Step 2
Client SecretCopied from the Credentials tab
Provider URLhttps://{your-keycloak-domain}/realms/{realm-name}

Assign users

Any user in the realm can sign in by default. To restrict access, configure client-level roles and assign them:
  1. Open the client → Roles tab → create roles as needed
  2. Open Users → select user → Role mappings → assign the client roles
Keycloak user role mappings page showing client roles being assigned to a user.

Configure in Orq.ai

Navigate to SettingsAuth in the AI Gateway.
  1. Select OIDC
  2. Enter the Client ID
  3. Enter the Client Secret
  4. Enter the Provider URL (the Issuer URL from Keycloak)
  5. Enter the organization’s email domain(s) in Allowed domains
  6. Click Activate
Configure Single Sign-On panel with OIDC selected for Keycloak, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.

Test the login

SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
Orq.ai login page showing the Continue with SSO button after configuring Keycloak OIDC.

Create a new provider

Log in to the Authentik admin interface and navigate to Applications → Providers.
Authentik Providers page showing the list of providers with a Create button.
Click Create, select OAuth2/OpenID Provider, and click Next.
Authentik provider type selection showing OAuth2/OpenID Provider highlighted.
Authentik may update their admin interface over time. Refer to Authentik’s official documentation if any steps differ.

Configure provider settings and collect credentials

Enter the following values:
FieldValue
Nameorq.ai (or preferred name)
Authorization flowdefault-provider-authorization-implicit-consent
Client typeConfidential
Redirect URIs / Originshttps://my.orq.ai/v2/auth/sso/oidc/callback (Strict mode)
Authentik pre-generates the Client ID and Client Secret inside this form. Copy both values now; they are needed to configure Orq.ai in the final step.
Authentik OAuth2/OpenID provider configuration form showing the Client ID, Client Secret, and Redirect URI fields.
Click Finish.

Create an application

Navigate to Applications → Applications and click Create.
Authentik Applications page showing the list of applications with a Create button.
Enter the following:
FieldValue
Nameorq.ai
Slugorq-ai (becomes part of the Issuer URL)
ProviderThe OAuth2/OpenID provider created in Step 1
Click Create.
Authentik Create application form showing Name, Slug, and Provider fields.

Get the Provider URL

The OIDC Issuer URL follows this pattern:
https://{your-authentik-domain}/application/o/{application-slug}/
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.
Authentik application Policy/Group/User Bindings tab showing a binding added for a user group.
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

Navigate to SettingsAuth in the AI Gateway.
  1. Select OIDC
  2. Enter the Client ID (copied in Step 2)
  3. Enter the Client Secret (copied in Step 2)
  4. Enter the Provider URL (the Issuer URL from Authentik, with trailing slash)
  5. Enter the organization’s email domain(s) in Allowed domains
  6. Click Activate
Configure Single Sign-On panel with OIDC selected for Authentik, showing fields for Client ID, Client Secret, Provider URL, and Allowed domains.

Test the login

SSO is now configured. Users can sign in at:
https://my.orq.ai/{your-workspace-key}/login
Orq.ai login page showing the Continue with SSO button after configuring Authentik OIDC.
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:
RequirementValue
FlowAuthorization Code (with or without PKCE)
Application typeWeb application / Confidential client
Grant typeauthorization_code
Token endpoint auth methodclient_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:
FieldValue
Application typeWeb application (confidential client)
Grant type / FlowAuthorization Code
Redirect URIhttps://my.orq.ai/v2/auth/sso/oidc/callback
Post-logout redirect URI (optional)https://my.orq.ai
Allowed scopesopenid, 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:
ClaimRequired?Description
subRequiredStable user identifier
emailRequiredUser’s email address
email_verifiedRecommendedMarks the email as verified
given_nameRecommendedFirst name
family_nameRecommendedLast name
nameRecommendedFull 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

FieldWhere to Find
Client IDProvided by the IdP after registration
Client SecretGenerated by the IdP; copy immediately
Provider URLBase 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

Navigate to SettingsAuth in the AI Gateway:
  1. Select OIDC
  2. Enter the Client ID
  3. Enter the Client Secret
  4. Enter the Provider URL (the Issuer URL from the IdP)
  5. Enter the organization’s email domain(s) in Allowed domains
  6. Click Activate
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.

Test the login

Open a private browser window and navigate to https://my.orq.ai. The SSO login button will appear automatically.
Orq.ai login page showing the Continue with SSO button after configuring an OIDC provider.

Edit a connection

  1. Click the menu on the active SSO connection
  2. Click Edit
  3. Update the desired fields
  4. Click Save Changes
Orq.ai SSO configuration page showing the three-dot menu open on an active connection with an Edit option.
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.
Orq.ai SSO edit dialog showing a confirmation prompt when switching from OIDC to SAML 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.

Testing

Before rolling out to the entire organization:
  1. Test the configuration with a single user
  2. Verify the user is created automatically in Orq.ai (if auto-provisioning is enabled)
  3. Confirm the user’s profile information (name, email) is correct
Users sign in at:
https://my.orq.ai/{your-workspace-key}/login
Orq.ai login page showing a Continue with SSO provider button that loads when an active SSO connection is configured.

Troubleshooting

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.
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.
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.
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
Symptom: SAML authentication suddenly stops workingSolution:
  1. Download a new certificate from the IdP
  2. Update the certificate in Orq.ai (Settings → Auth → Edit in the AI Gateway)
  3. Click Save Changes
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).
Symptom: Authentication succeeds but user has no emailSolution: Orq.ai automatically requests the User.Read Microsoft Graph scope. Verify this permission is granted:
  1. Go to API permissions in the app registration
  2. Verify User.Read is present
  3. Click “Grant admin consent” if needed
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.
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.
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.
Error: Issuer URL rejectedSolution: Orq.ai rejects http:// issuers in production. The identity provider must be served over HTTPS.

Need Help?

Contact support@orq.ai with:
  • Workspace key
  • Identity provider and protocol (e.g., “Keycloak SAML”)
  • Error message or screenshot