> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Enterprise SSO authentication

> Configure enterprise Single Sign-On for Orq.ai using Okta or Microsoft Entra ID. Supports OIDC and SAML protocols for secure authentication.

<Badge color="blue" size="lg" shape="pill" stroke="true">Feature available with the [Enterprise Plan](https://orq.ai/solutions/enterprise)</Badge>

Connect your identity provider to Orq.ai to allow your team to sign in using their existing credentials.

## Choosing a Protocol

Two protocols are available for both providers:

* <Icon icon="bolt" /> **OIDC**: Modern, lightweight protocol based on OAuth 2.0. Recommended for most organizations for its quick setup and JSON-based authentication.
* <Icon icon="shield" /> **SAML**: XML-based protocol recommended for enterprise environments requiring fine-grained control over security attributes and assertions.

## Identity Providers

<AccordionGroup>
  <Accordion title="Okta" icon="circle">
    <Tabs>
      <Tab title="OIDC" icon="bolt">
        <Steps titleSize="h3">
          <Step title="Create an OIDC app in Okta" icon="circle-plus">
            Sign in to your **Okta Admin Console** and navigate to **Applications → Applications**.

            <Frame caption="Okta Applications page">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-applications-page.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=d7f3f39fe71e0f3cb869116fca809ad8" alt="Okta Admin Console Applications page showing the list of active applications with a Create App Integration button." width="1895" height="879" data-path="images/sso/okta_oidc/okta-oidc-applications-page.png" />
            </Frame>

            Click **Create App Integration**, then select **OIDC - OpenID Connect** and **Web Application**, and click **Next**.

            <Frame caption="Select sign-in method">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-create-app-integration.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=7e9752c57b4b13406cc26f209ec5ae71" alt="Create a new app integration dialog with OIDC-OpenID Connect selected as sign-in method and Web Application as application type." width="1887" height="875" data-path="images/sso/okta_oidc/okta-oidc-create-app-integration.png" />
            </Frame>

            **Configure the application:**

            * **App integration name**: `Orq.ai` (or your 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
              ```

            <Frame caption="App integration settings">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-configure-settings.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=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." width="1886" height="892" data-path="images/sso/okta_oidc/okta-oidc-configure-settings.png" />
            </Frame>

            <Frame caption="Controlled access settings">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assignments-and-save.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=da819fd515fc50a40b9577a467f60448" alt="New Web App Integration page showing the Assignments section with Skip group assignment for now selected and a Save button." width="1865" height="900" data-path="images/sso/okta_oidc/okta-oidc-assignments-and-save.png" />
            </Frame>
          </Step>

          <Step title="Assign users" icon="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**.

            <Frame caption="Assigning users to the application">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-assign-users.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=6f4fca17e24b7a3da0d5878d51940e3f" alt="Okta orq.ai application Assignments tab with the Assign dropdown open, showing Assign to People and Assign to Groups options." width="1901" height="869" data-path="images/sso/okta_oidc/okta-oidc-assign-users.png" />
            </Frame>

            <Note>
              By default, no users are assigned to a new Okta app.
            </Note>
          </Step>

          <Step title="Gather credentials" icon="key">
            From the application's **General** tab, scroll down to the **Client Credentials** section.

            Copy these values:

            * **Client ID**: Copy this value - you'll use it as the **Client ID** in Orq.ai
            * **Client secret**: Click **Copy to clipboard** - you'll use it as the **Client Secret** in Orq.ai

            <Frame caption="Client credentials">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_oidc/okta-oidc-client-credentials.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=97721e0f8e36865a247b3b638a6d9026" alt="Okta orq.ai application General tab showing Client Credentials with Client ID and a client secret listed under CLIENT SECRETS." width="1904" height="892" data-path="images/sso/okta_oidc/okta-oidc-client-credentials.png" />
            </Frame>
          </Step>

          <Step title="Get the Provider URL" icon="link">
            Your Provider URL is your Okta domain's authorization server issuer URL:

            ```
            https://{yourOktaDomain}/oauth2/default
            ```

            Find your Okta domain in the top-right corner of the Okta Admin Console (e.g. `acme.okta.com`).
          </Step>

          <Step title="Configure in Orq.ai" icon="circle-check">
            Navigate to **AI Studio** → **Organization** → **Auth**.

            <Frame caption="SSO Authentication page">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=ddcbd02b5fd808efca3c18c36076adda" alt="Orq.ai Authentication settings page showing Okta and Active Directory as available SSO providers, each with a Configure button." width="3416" height="1946" data-path="images/sso/platform_config/sso-authentication-page.png" />
            </Frame>

            Enter the credentials you collected from Okta:

            1. Select **OIDC** (selected by default)
            2. Enter your **Client ID**
            3. Enter your **Client Secret**
            4. Enter your **Provider URL**
            5. Enter your organization's email domain(s) in **Allowed domains** (e.g., `orq.ai`)
            6. Click **Activate**

            <Frame caption="OIDC configuration form">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=993b6152eef3ae82c9f00a65a6e4024b" alt="Config Okta Single Sign-On panel with OIDC selected, showing fields for Client ID, Client Secret code, Provider URL, and Allowed domains." width="3416" height="1946" data-path="images/sso/platform_config/configure-oidc.png" />
            </Frame>
          </Step>

          <Step title="Done! Test your login" icon="party-horn">
            Your SSO is now configured! Users can sign in at:

            ```
            https://my.orq.ai/{your-workspace-key}/login
            ```

            <Frame caption="SSO login with Okta">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/sso_login/sso-login-okta.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=83979dccb061cee665720b0fdaff0a61" alt="Orq.ai login page with a Continue with Okta button for Single Sign-On." width="3416" height="1946" data-path="images/sso/sso_login/sso-login-okta.png" />
            </Frame>
          </Step>
        </Steps>
      </Tab>

      <Tab title="SAML" icon="shield">
        <Steps titleSize="h3">
          <Step title="Define your SP Entity ID" icon="fingerprint">
            Choose a unique identifier for your Service Provider Entity ID. We recommend:

            ```
            urn:orq.ai:{your-workspace-key}
            ```

            For example, if your workspace key is `acme-corp`, use `urn:orq.ai:acme-corp`.

            <Tip>
              The SP Entity ID must match exactly in both Okta and Orq.ai. Write it down - you'll need it in multiple steps.
            </Tip>
          </Step>

          <Step title="Create a SAML app in Okta" icon="circle-plus">
            In the **Okta Admin Console**, go to **Applications → Applications**.

            <Frame caption="Okta Applications page">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-applications-page.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=ea34233a77763786f7f7039c607f4356" alt="Okta Admin Console Applications page showing the orq.ai app as active with Client ID 0oa100vajmcL1YV5W698." width="1892" height="883" data-path="images/sso/okta_saml/okta-saml-applications-page.png" />
            </Frame>

            Click **Create App Integration**, select **SAML 2.0**, and click **Next**.

            <Frame caption="Select sign-in method">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-create-app-integration.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=c1a757ab51e9e0f62a9598b31c3c9091" alt="Create a new app integration dialog with SAML 2.0 selected as the sign-in method." width="1878" height="881" data-path="images/sso/okta_saml/okta-saml-create-app-integration.png" />
            </Frame>

            Enter a name (e.g. `Orq.ai SSO`) and click **Next**.

            <Frame caption="General settings">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-general-settings.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=afe01ecddd94612103751a95c9512a7b" alt="Create SAML Integration wizard showing Step 1 General Settings with App name set to orq.ai." width="1891" height="895" data-path="images/sso/okta_saml/okta-saml-general-settings.png" />
            </Frame>
          </Step>

          <Step title="Configure SAML settings" icon="shield">
            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 you defined in Step 1
            * **Name ID format**: `EmailAddress`
            * **Application username**: `Email`

            <Frame caption="SAML configuration">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-configure-settings.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=ceb6074a9fd26625cbcf5f5d7316ccc2" alt="Create SAML Integration Step 2 showing Single sign-on URL set to https://my.orq.ai/v2/auth/sso/saml/callback and Audience URI set to urn:orq.ai:your-workspace-key." width="1895" height="889" data-path="images/sso/okta_saml/okta-saml-configure-settings.png" />
            </Frame>

            Click **Next**, then **Finish**.

            <Frame caption="Feedback step">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-feedback.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=2b883ada743ce0c7ea48d3444a19e8eb" alt="Create SAML Integration Step 3 Feedback page with This is an internal app that we have created selected and a Finish button." width="1894" height="890" data-path="images/sso/okta_saml/okta-saml-feedback.png" />
            </Frame>
          </Step>

          <Step title="Configure attribute statements" icon="tags">
            Go to the **Sign On** tab and click **Edit** in the Settings section.

            <Frame caption="Sign On settings">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-attribute-statements.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=eff9182d4258ac964489d3a5288d1ce4" alt="Okta Sign On tab showing Credentials Details with Application username format set to Email, an empty Attribute statements section, and a Show legacy configuration toggle." width="1882" height="885" data-path="images/sso/okta_saml/okta-saml-attribute-statements.png" />
            </Frame>

            Under **Attribute Statements**, add these mappings:

            | Name        | Expression       |
            | ----------- | ---------------- |
            | `email`     | `user.email`     |
            | `firstName` | `user.firstName` |
            | `lastName`  | `user.lastName`  |

            <Tip>
              If you see a **Show legacy configuration** link, click it and use the classic format with Name, Name format (Basic), and Value columns.
            </Tip>

            <Frame caption="Legacy attribute configuration">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-legacy-attributes.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=d5175f3e796758dba43814dcf69e2375" alt="Legacy Profile attribute statements showing email mapped to user.email, firstName to user.firstName, and lastName to user.lastName." width="1895" height="888" data-path="images/sso/okta_saml/okta-saml-legacy-attributes.png" />
            </Frame>

            Click **Save**.

            <Note>
              These attribute mappings are required for SAML to work correctly with Orq.ai.
            </Note>
          </Step>

          <Step title="Gather credentials" icon="key">
            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) |

            <Frame caption="SAML metadata details">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-collect-values.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=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." width="1885" height="875" data-path="images/sso/okta_saml/okta-saml-collect-values.png" />
            </Frame>
          </Step>

          <Step title="Assign users" icon="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**.

            <Frame caption="Assigning users to the application">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/okta_saml/okta-saml-assign-users.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=42a722488982e6d7709fbbbd4ca267e4" alt="Okta orq.ai application Assignments tab with the Assign dropdown open, showing Assign to People and Assign to Groups options." width="1888" height="872" data-path="images/sso/okta_saml/okta-saml-assign-users.png" />
            </Frame>

            <Note>
              By default, no users are assigned to a new Okta app.
            </Note>
          </Step>

          <Step title="Configure in Orq.ai" icon="circle-check">
            Navigate to **AI Studio** → **Organization** → **Auth**.

            <Frame caption="SSO Authentication page">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=ddcbd02b5fd808efca3c18c36076adda" alt="Orq.ai Authentication settings page showing Okta and Active Directory as available SSO providers, each with a Configure button." width="3416" height="1946" data-path="images/sso/platform_config/sso-authentication-page.png" />
            </Frame>

            Enter the credentials you collected from Okta:

            1. Select **SAML**
            2. Enter your **Service Provider Entity ID** (from Step 1)
            3. Enter your **Identity Provider Entity ID** (Issuer from Okta)
            4. Enter your **Single Sign-On URL** (Sign on URL from Okta)
            5. 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
            6. Enter your organization's email domain(s) in **Allowed domains** (e.g., `orq.ai`)
            7. Click **Activate**

            <Frame caption="SAML configuration form">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=25560cd3f596a598af67cbdf52e4a365" alt="Config Okta Single Sign-On panel with SAML selected, showing fields for Service Provider Entity ID, Identity Provider Entity ID, Single Sign-On URL, X.509 Certificate, and Allowed domains." width="3416" height="1946" data-path="images/sso/platform_config/configure-saml.png" />
            </Frame>
          </Step>

          <Step title="Done! Test your login" icon="party-horn">
            Your SSO is now configured! Users can sign in at:

            ```
            https://my.orq.ai/{your-workspace-key}/login
            ```

            <Frame caption="SSO login with Okta">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/sso_login/sso-login-okta.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=83979dccb061cee665720b0fdaff0a61" alt="Orq.ai login page with a Continue with Okta button for Single Sign-On." width="3416" height="1946" data-path="images/sso/sso_login/sso-login-okta.png" />
            </Frame>
          </Step>
        </Steps>
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Microsoft Entra ID - Active Directory" icon="microsoft">
    <Tabs>
      <Tab title="OIDC" icon="bolt">
        <Steps titleSize="h3">
          <Step title="Register an application in Azure" icon="circle-plus">
            Sign in to the [Azure portal](https://entra.microsoft.com) and navigate to **Microsoft Entra ID → App registrations**.

            <Frame caption="App registrations page">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-registrations.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=5f18364c0f7dcec13eb3133323654bc0" alt="Azure Default Directory App registrations page with no applications registered and a Register an application button." width="1919" height="917" data-path="images/sso/azure_oidc/azure-oidc-app-registrations.png" />
            </Frame>

            Configure the registration:

            * **Name**: `Orq.ai` (or your preferred name)
            * **Supported account types**: Select based on your organization's needs
            * **Redirect URI**: Select **Web** and enter:
              ```
              https://my.orq.ai/v2/auth/sso/oidc/callback
              ```

            Click **Register**.

            <Frame caption="Register an application">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-register-application.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=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." width="1912" height="927" data-path="images/sso/azure_oidc/azure-oidc-register-application.png" />
            </Frame>
          </Step>

          <Step title="Gather credentials" icon="key">
            **Get the Client ID:**

            From the app registration **Overview** page, copy the **Application (client) ID** - this is your **Client ID** for Orq.ai.

            <Frame caption="Application overview with Client ID">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=f268171e1a3d68455a434f275c06da83" alt="Azure orq.ai application overview showing the Application ID and Tenant ID in the Essentials section." width="1909" height="919" data-path="images/sso/azure_oidc/azure-oidc-app-overview.png" />
            </Frame>

            **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**.

            <Frame caption="Add a client secret">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-add-client-secret.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=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." width="1914" height="923" data-path="images/sso/azure_oidc/azure-oidc-add-client-secret.png" />
            </Frame>

            <Warning>
              **Copy the secret value immediately** - Azure only displays it once. If you lose it, you'll need to generate a new secret.
            </Warning>

            Copy the **Value** field - this is your **Client Secret** for Orq.ai.

            <Frame caption="Client secret created">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-client-secret-created.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=2c633c33856ed88df13032e2515507a3" alt="Certificates and secrets page showing the newly created orq.ai SSO client secret with expiry 2/10/2028." width="1919" height="922" data-path="images/sso/azure_oidc/azure-oidc-client-secret-created.png" />
            </Frame>
          </Step>

          <Step title="Get the Provider URL" icon="link">
            Your Provider URL is your tenant's issuer URL:

            ```
            https://login.microsoftonline.com/{tenant-id}/v2.0
            ```

            Replace `{tenant-id}` with your **Directory (tenant) ID**, found on the app registration overview page.

            <Frame caption="Application overview">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-app-overview.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=f268171e1a3d68455a434f275c06da83" alt="Azure orq.ai application overview showing the Application ID and Tenant ID in the Essentials section." width="1909" height="919" data-path="images/sso/azure_oidc/azure-oidc-app-overview.png" />
            </Frame>
          </Step>

          <Step title="Configure API permissions" icon="shield-check">
            Go to **API permissions** and ensure these Microsoft Graph permissions are granted:

            * `openid`
            * `email`
            * `profile`

            <Frame caption="Request API permissions">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-request.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=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." width="1907" height="929" data-path="images/sso/azure_oidc/azure-oidc-api-permissions-request.png" />
            </Frame>

            Click **Grant admin consent** if required by your organization.

            <Frame caption="Configured API permissions">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_oidc/azure-oidc-api-permissions-configured.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=06ba91debadbf584dd767c556e06e5dc" alt="Azure API permissions page showing configured Microsoft Graph delegated permissions: email, openid, profile, and User.Read." width="1920" height="923" data-path="images/sso/azure_oidc/azure-oidc-api-permissions-configured.png" />
            </Frame>

            <Note>
              Orq.ai automatically requests the `User.Read` scope to retrieve user email addresses when the standard OIDC `email` claim is not available.
            </Note>
          </Step>

          <Step title="Configure in Orq.ai" icon="circle-check">
            Navigate to **AI Studio** → **Organization** → **Auth**.

            <Frame caption="SSO Authentication page">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=ddcbd02b5fd808efca3c18c36076adda" alt="Orq.ai Authentication settings page showing Okta and Active Directory as available SSO providers, each with a Configure button." width="3416" height="1946" data-path="images/sso/platform_config/sso-authentication-page.png" />
            </Frame>

            Enter the credentials you collected from Azure:

            1. Select **OIDC** (selected by default)
            2. Enter your **Client ID**
            3. Enter your **Client Secret**
            4. Enter your **Provider URL**
            5. Enter your organization's email domain(s) in **Allowed domains** (e.g., `acme.com`)
            6. Click **Activate**

            <Frame caption="OIDC configuration form">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-oidc.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=993b6152eef3ae82c9f00a65a6e4024b" alt="Azure OIDC configuration form with fields for Client ID, Client Secret, Provider URL, and Allowed domains." width="3416" height="1946" data-path="images/sso/platform_config/configure-oidc.png" />
            </Frame>
          </Step>

          <Step title="Done! Test your login" icon="party-horn">
            Your SSO is now configured! Users can sign in at:

            ```
            https://my.orq.ai/{your-workspace-key}/login
            ```

            <Frame caption="SSO login with Microsoft Entra ID">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/sso_login/sso-login-azure.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=964c102b8496e55c00c531cf2713bd92" alt="Orq.ai login page with a Continue with Microsoft button for Single Sign-On." width="3416" height="1946" data-path="images/sso/sso_login/sso-login-azure.png" />
            </Frame>
          </Step>
        </Steps>
      </Tab>

      <Tab title="SAML" icon="shield">
        <Steps titleSize="h3">
          <Step title="Define your SP Entity ID" icon="fingerprint">
            Choose a unique identifier for your Service Provider Entity ID. We recommend:

            ```
            urn:orq.ai:{your-workspace-key}
            ```

            For example, if your workspace key is `acme-corp`, use `urn:orq.ai:acme-corp`.

            <Tip>
              The SP Entity ID must match exactly in both Azure and Orq.ai. Write it down - you'll need it in multiple steps.
            </Tip>
          </Step>

          <Step title="Create an enterprise application in Azure" icon="circle-plus">
            In the [Azure portal](https://entra.microsoft.com), go to **Microsoft Entra ID → Enterprise applications → New application**.

            <Frame caption="Enterprise applications page">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-enterprise-applications.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=34f9cbac55194b9c67412c3ccdc897b8" alt="Azure Enterprise applications page showing no applications found with a New application button." width="1910" height="912" data-path="images/sso/azure_saml/azure-saml-enterprise-applications.png" />
            </Frame>

            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**.

            <Frame caption="Create your own application">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-create-own-application.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=a2db1cc55f7a47d8e496174b6b73bde1" alt="Azure Browse Microsoft Entra App Gallery page with the Create your own application panel showing a Name field and integration type options." width="1918" height="935" data-path="images/sso/azure_saml/azure-saml-create-own-application.png" />
            </Frame>

            <Frame caption="Application overview">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-app-overview.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=86c3cc4caf2901cf75835b9999bf721b" alt="Azure orq.ai Enterprise Application Overview showing Application ID, Object ID, and Getting Started steps for setup." width="1919" height="926" data-path="images/sso/azure_saml/azure-saml-app-overview.png" />
            </Frame>
          </Step>

          <Step title="Configure SAML" icon="shield">
            In the application, go to **Single sign-on** and select **SAML**.

            <Frame caption="Select single sign-on method">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-select-method.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=1d30a67998aa18b29c26fb8ba331e0cd" alt="Azure Single sign-on method selection page for orq.ai showing options: Disabled, SAML, Password-based, and Linked." width="1913" height="916" data-path="images/sso/azure_saml/azure-saml-select-method.png" />
            </Frame>

            Under **Basic SAML Configuration**, click **Edit** and set:

            * **Identifier (Entity ID)**: The SP Entity ID you 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**.

            <Frame caption="Basic SAML Configuration">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-basic-configuration-saved.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=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." width="1905" height="921" data-path="images/sso/azure_saml/azure-saml-basic-configuration-saved.png" />
            </Frame>
          </Step>

          <Step title="Configure attributes and claims" icon="tags">
            Click **Edit** on **Attributes & Claims**.

            Verify or add these claim mappings:

            | Short name     | Full claim URI                                                       | Source attribute |
            | -------------- | -------------------------------------------------------------------- | ---------------- |
            | `emailaddress` | `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` | `user.mail`      |
            | `givenname`    | `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname`    | `user.givenname` |
            | `surname`      | `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname`      | `user.surname`   |

            <Frame caption="Email claim mapping">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-emailaddress.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=c19f731576f565c891bd2b2b6ab65a33" alt="Manage claim page with Name set to emailaddress and Source attribute set to user.mail." width="1914" height="922" data-path="images/sso/azure_saml/azure-saml-claim-emailaddress.png" />
            </Frame>

            <Frame caption="First name claim mapping">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-givenname.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=6dc48e1164cea7af7a9af4eb57034f9d" alt="Manage claim page with Name set to givenname and Source attribute set to user.givenname." width="1915" height="926" data-path="images/sso/azure_saml/azure-saml-claim-givenname.png" />
            </Frame>

            <Frame caption="Last name claim mapping">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claim-surname.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=106180024e911d5e6a68135cd7dbbb72" alt="Manage claim page with Name set to surname and Source attribute set to user.surname." width="1909" height="922" data-path="images/sso/azure_saml/azure-saml-claim-surname.png" />
            </Frame>

            <Frame caption="Claims overview">
              <img src="https://mintcdn.com/orqai/Wn8ERdoXUsqhmPIP/images/sso/azure_saml/azure-saml-claims-overview.png?fit=max&auto=format&n=Wn8ERdoXUsqhmPIP&q=85&s=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." width="1904" height="929" data-path="images/sso/azure_saml/azure-saml-claims-overview.png" />
            </Frame>

            <Note>
              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.
            </Note>
          </Step>

          <Step title="Gather credentials" icon="key">
            On the SAML configuration page, scroll down to collect these values:

            **From the "Set up" section:**

            * **Login URL**: Copy this value - you'll use it as the **Single Sign-On URL** in Orq.ai
            * **Microsoft Entra Identifier**: Copy this value - you'll use it as the **Identity Provider Entity ID** in Orq.ai

            **From the "SAML Certificates" section:**

            * Click **Download** next to **Certificate (Base64)** and save the file

            <Frame caption="SAML credentials">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-collect-values.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=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." width="1900" height="909" data-path="images/sso/azure_saml/azure-saml-collect-values.png" />
            </Frame>

            <Note>
              Keep these values handy. You'll need all three to configure SSO in Orq.ai in the next step.
            </Note>
          </Step>

          <Step title="Assign users and groups" icon="users">
            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**.

            <Frame caption="Assigning users and groups">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/azure_saml/azure-saml-users-and-groups.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=db6818e55691fb7b5f150132452961d1" alt="Azure orq.ai Users and groups page showing no application assignments with an Add user/group button." width="1909" height="920" data-path="images/sso/azure_saml/azure-saml-users-and-groups.png" />
            </Frame>

            <Note>
              By default, any user in your directory can authenticate. Assigning specific users or groups restricts access.
            </Note>
          </Step>

          <Step title="Configure in Orq.ai" icon="circle-check">
            Navigate to **AI Studio** → **Organization** → **Auth**.

            <Frame caption="SSO Authentication page">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/sso-authentication-page.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=ddcbd02b5fd808efca3c18c36076adda" alt="Orq.ai Authentication settings page showing Okta and Active Directory as available SSO providers, each with a Configure button." width="3416" height="1946" data-path="images/sso/platform_config/sso-authentication-page.png" />
            </Frame>

            Enter the credentials you collected from Azure:

            1. Select **SAML**
            2. Enter your **Service Provider Entity ID** (from Step 1)
            3. Enter your **Identity Provider Entity ID** (Microsoft Entra Identifier from Azure)
            4. Enter your **Single Sign-On URL** (Login URL from Azure)
            5. 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
            6. Enter your organization's email domain(s) in **Allowed domains** (e.g., `orq.ai`)
            7. Click **Activate**

            <Frame caption="SAML configuration form">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/platform_config/configure-saml.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=25560cd3f596a598af67cbdf52e4a365" alt="Config Okta Single Sign-On panel with SAML selected, showing fields for Service Provider Entity ID, Identity Provider Entity ID, Single Sign-On URL, X.509 Certificate, and Allowed domains." width="3416" height="1946" data-path="images/sso/platform_config/configure-saml.png" />
            </Frame>
          </Step>

          <Step title="Done! Test your login" icon="party-horn">
            Your SSO is now configured! Users can sign in at:

            ```
            https://my.orq.ai/{your-workspace-key}/login
            ```

            <Frame caption="SSO login with Microsoft Entra ID">
              <img src="https://mintcdn.com/orqai/eESPCIDoKN-2_GOT/images/sso/sso_login/sso-login-azure.png?fit=max&auto=format&n=eESPCIDoKN-2_GOT&q=85&s=964c102b8496e55c00c531cf2713bd92" alt="Orq.ai login page with a Continue with Microsoft button for Single Sign-On." width="3416" height="1946" data-path="images/sso/sso_login/sso-login-azure.png" />
            </Frame>
          </Step>
        </Steps>
      </Tab>
    </Tabs>
  </Accordion>
</AccordionGroup>

## Testing

Before rolling out to your 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. Check that the user's profile information (name, email) is correct

## Troubleshooting

<AccordionGroup>
  <Accordion title="Redirect URI mismatch" icon="link-slash">
    **Error:** "redirect\_uri\_mismatch" or "Invalid redirect URI"

    **Solution:** Verify the callback URL in your 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
  </Accordion>

  <Accordion title="Entity ID mismatch (SAML)" icon="fingerprint">
    **Error:** "Audience restriction" or "Invalid audience"

    **Solution:** Verify the SP Entity ID matches exactly in both your IdP and Orq.ai configuration. It's case-sensitive.
  </Accordion>

  <Accordion title="Invalid client secret (OIDC)" icon="key">
    **Error:** "invalid\_client" or "unauthorized\_client"

    **Solution:** Regenerate the client secret in your IdP and update it in Orq.ai. Make sure to copy the secret immediately after creation.
  </Accordion>

  <Accordion title="User not assigned" icon="user-slash">
    **Symptom:** User can't 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
  </Accordion>

  <Accordion title="Certificate expired (SAML)" icon="certificate">
    **Symptom:** SAML authentication suddenly stops working

    **Solution:**

    1. Download new certificate from your IdP
    2. Update certificate in Orq.ai (AI Studio → Organization → Auth → Edit)
    3. Click **Save Changes**
  </Accordion>

  <Accordion title="Email domain not allowed" icon="envelope">
    **Error:** "Email domain not allowed"

    **Solution:** Add the user's email domain to "Allowed domains" in your Orq.ai SSO configuration. Separate multiple domains with commas (e.g., `acme.com, acme.io`).
  </Accordion>

  <Accordion title="Missing email claim (Azure OIDC)" icon="at">
    **Symptom:** Authentication succeeds but user has no email

    **Solution:** Orq.ai automatically requests the `User.Read` Microsoft Graph scope. Verify this permission is granted:

    1. Go to API permissions in your app registration
    2. Verify `User.Read` is present
    3. Click "Grant admin consent" if needed
  </Accordion>
</AccordionGroup>

### Need Help?

Contact [support@orq.ai](mailto:support@orq.ai) with:

* Your workspace key
* Identity provider and protocol (e.g., "Okta SAML")
* Error message or screenshot
