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

# Configure SAML SSO with Okta

This guide walks you through configuring SAML Single Sign-On for Bruno using Okta as your identity provider.

<Info>
  Before you begin, make sure you have completed the [prerequisites](./overview#prerequisites) and have admin access to both Okta and the Bruno License Portal.
</Info>

## Configure SSO in Bruno

Before configuring a SAML application in Okta, first configure SSO in Bruno.

1. Log in to the [Bruno License Portal](https://license.usebruno.com/)
2. Navigate to **Settings** → **SSO** in the left sidebar

<img src="https://mintcdn.com/bruno-a6972042/KbpwWkeN627E4ypz/images/screenshots/sso-scim-management/saml-sso/bruno-sso-settings.webp?fit=max&auto=format&n=KbpwWkeN627E4ypz&q=85&s=d32b00406dfa7f88f308b0455a9db3bb" alt="Bruno SSO Configuration settings page" width="2078" height="596" data-path="images/screenshots/sso-scim-management/saml-sso/bruno-sso-settings.webp" />

3. Toggle the **Enable SSO** switch on

4. Note the following values (you'll need these when configuring Okta):
   * **SAML ACS URL**: Copy this URL exactly as shown in Bruno
   * **SP Issuer ID / Entity ID**: Set your own unique identifier (e.g., `bruno-sso`, `bruno-okta`, `your-company-bruno`, etc.)

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-4.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=6ecd35c0790489f542b56f8f1ac1ed6e" alt="Bruno SSO Configuration settings page with SAML ACS URL and SP Issuer ID / Entity ID highlighted" width="1098" height="545" data-path="images/screenshots/sso-scim-management/okta/okta-sso-4.webp" />

<Info>
  Keep this page open in a separate tab - you'll return here after configuring Okta to complete the Bruno SSO setup.
</Info>

## Configure SSO with Okta

### Step 1: Create a New SAML Application

1. Log in to your Okta Admin Console
2. Navigate to **Applications** → **Applications** in the left sidebar
3. Click **Create App Integration**

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-swa-1.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=a0f06d117307b9fee6bed9e2e168c5d4" alt="Create App Integration in Okta" width="2088" height="1180" data-path="images/screenshots/sso-scim-management/okta/okta-swa-1.webp" />

4. Select **SAML 2.0** as the sign-in method
5. Click **Next**

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-1.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=717a79f28d3fedd093ed299a6967016e" alt="Select SAML 2.0 as sign-in method" width="1682" height="958" data-path="images/screenshots/sso-scim-management/okta/okta-sso-1.webp" />

### Step 2: Configure General Settings

1. Enter the following information:
   * **App name**: Set your own unique identifier (e.g., `Bruno`, `Bruno-SAML-App`, etc.)
   * **App logo**: (Optional) Upload Bruno logo
   * **App visibility**: Configure based on your organization's preferences
2. Click **Next**

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-2.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=6f9acf178e19e3abc33757be01a8c3cd" alt="Configure general settings for Bruno SAML app in Okta" width="1920" height="1048" data-path="images/screenshots/sso-scim-management/okta/okta-sso-2.webp" />

### Step 3: Configure SAML Settings

Copy the values from the Bruno SSO settings page and paste them into your SAML configuration in Okta.

**Single Sign-On URL:**

1. In the **Single sign-on URL** field, copy and paste the **SAML ACS URL** from Bruno

2. Check **Use this for Recipient URL and Destination URL**

**Audience URI (SP Entity ID):**

1. In the **Audience URI (SP Entity ID)** field, paste the **SP Issuer ID / Entity ID** value from the Bruno License Portal
   * **Important**: This value must match EXACTLY what you configured in the Bruno SSO Configuration page

**Name ID Format:**

1. Select **EmailAddress** from the **Name ID format** dropdown

**Application Username:**

1. Select **Email** from the **Application username** dropdown

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-3.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=011482254058f2c4ac0af130dbb755f2" alt="Configure Audience URI (SP Entity ID) in Okta" width="1332" height="1096" data-path="images/screenshots/sso-scim-management/okta/okta-sso-3.webp" />

### Step 4: Configure Attribute Statements

Bruno requires two specific SAML attributes to be configured. Add the following attribute statements:

| Name         | Name Format | Value                              | Notes                                                                                     |
| ------------ | ----------- | ---------------------------------- | ----------------------------------------------------------------------------------------- |
| **roles**    | Unspecified | Any role value from Okta           | Can be a static value (e.g., `"admin"`) or mapped to existing Okta user attributes/groups |
| **fullName** | Unspecified | `user.firstName+" "+user.lastName` | Concatenates first and last name. Can also use a single name field if available.          |

<Info>
  **Configuring the roles attribute:**

  The `roles` attribute can be configured in several ways:

  1. **Static value for testing**: Set a hardcoded value like `"admin"` for all users assigned to this app
     * Example: Value = `"admin"`

  2. **Map to existing or created Okta user attribute**: If your Okta users already have a role attribute or you create a specific attribute for Bruno roles
     * Example: Value = `user.userType` or `user.role` or `user.brunoRole`

  **Important**: The role value sent by Okta will be mapped to Bruno access levels in the License Portal's SSO Settings. You'll configure which role values correspond to admin or user access in Bruno (see Step 2 in the Bruno configuration section below).

  **Example Scenarios:**

  * If you set Value = `"Engineering"`, you'll add `Engineering` to either "Admin Roles" or "User Roles" in Bruno
  * If you set Value = `user.department`, and a user's department is `IT`, you'll add `IT` to the appropriate role field in Bruno
</Info>

<Info>
  **Configuring the fullName attribute:**

  The `fullName` attribute can be configured by:

  * Concatenating first and last name: `user.firstName+" "+user.lastName`
  * Using a single field if your Okta user profile has a combined name field
  * Mapping to any existing user property that contains the full name
</Info>

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-5.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=48e691e8c54dceb0fbf7a0366fa8c682" alt="Configure attribute statements in Okta showing roles and fullName" width="703" height="309" data-path="images/screenshots/sso-scim-management/okta/okta-sso-5.webp" />

<Warning>
  **Important**: Both `roles` and `fullName` attributes are required for Bruno SAML SSO to function correctly. The attribute names are case-sensitive and must match exactly as shown.
</Warning>

**Preview the SAML Assertion**

1. Scroll down to the **Preview the SAML assertion generated from the information above** section
2. Click **Preview the SAML Assertion**
3. Verify the generated XML contains the configured attributes: `NameID Format`,`roles`, `fullName`
4. Click **Next**

### Step 5: Complete Okta App Setup

1. On the **Feedback** page:
   * Select **I'm an Okta customer adding an internal app**
   * Check **This is an internal app that we have created**
2. Click **Finish**

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-6.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=0970dfc196e7c17f067db68adb11db92" alt="Complete Okta app setup" width="747" height="299" data-path="images/screenshots/sso-scim-management/okta/okta-sso-6.webp" />

## Finish SSO Configuration in Bruno

### Step 1: Add SSO URL to Bruno License Portal

**IdP Login URL / SSO URL**

1. In your configure Okta application, navigate to the **Sign On** tab
2. Scroll down to the **SAML 2.0** section, expand the **Hide details** section
3. Copy the following values (you'll need these for Bruno configuration):
   * **Sign on URL**: Copy this URL

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-7.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=71621ed5022b7d7fc1e7a2cbd401777f" alt="Copy SAML metadata from Okta" width="767" height="902" data-path="images/screenshots/sso-scim-management/okta/okta-sso-7.webp" />

4. Return to the Bruno License Portal tab you opened [from the earlier configuration](#configure-sso-in-bruno)
5. Navigate to **Settings** → **SSO** (if not already there)
6. Under **SAML Configuration** paste the **Sign on URL** from Okta into the **IdP Login URL / SSO URL** field

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-9.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=407fa4f8827e296886151c6413d2dc75" alt="Paste SSO URL into Bruno SSO settings" width="773" height="247" data-path="images/screenshots/sso-scim-management/okta/okta-sso-9.webp" />

### Step 2: Add IdP Certificate to Bruno License Portal

**Okta IdP Certificate**

1. Scroll down the **Sign On** tab to **SAML Signing Certificates**
2. Click **Generate new certificate**
3. For the newly generated certificate, click the **Actions** dropdown and select **Download Certificate**

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-8.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=625e72aec8fb858c5767e144f31ec2b5" alt="Download SAML certificate from Okta" width="819" height="366" data-path="images/screenshots/sso-scim-management/okta/okta-sso-8.webp" />

4. Open the downloaded certificate file and copy the contents (include the `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----` lines)
5. Return to the Bruno License Portal tab you opened [from the earlier configuration](#configure-sso-in-bruno)
6. Under **SAML Configuration** paste the certificate contents into the **IdP Certificate** field

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-10.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=5e02b4d58ca2be1983bc273b88e4366d" alt="Paste SAML certificate into Bruno SSO settings" width="739" height="236" data-path="images/screenshots/sso-scim-management/okta/okta-sso-10.webp" />

### Step 3: Map the role values from Okta to Bruno access levels

1. Under the Bruno License Portal in the SSO Configuration page, scroll down to the **Role Mapping** section

2. **Admin Roles**: Enter the role values (comma-separated) that should have admin access to Bruno
   * Example: `admin,BrunoAdmin,IT-Administrators`
   * These values must match what you configured in the `roles` attribute in Okta
   * Users with these roles can access the admin panel and manage licenses

3. **User Roles**: Enter the role values (comma-separated) that should have user access to Bruno
   * Example: `user,Engineering,Developers,QA`
   * These values must match what you configured in the `roles` attribute in Okta
   * Users with these roles will be able to activate their Bruno licenses with SSO. **They will not have access to the admin panel.**
     <img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-11.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=c4c1e8c86194b27de02398080e6dea8d" alt="Configure role mapping in Bruno License Portal" width="767" height="414" data-path="images/screenshots/sso-scim-management/okta/okta-sso-11.webp" />

<Info>
  **How Role Mapping Works:**

  The role value you configured in Okta's `roles` attribute statement will be sent in the SAML assertion. Bruno will check if this value matches any role in the "Admin Roles" or "User Roles" fields.

  **Example:**

  * In Okta, you set the `roles` attribute to `"Engineering"`
  * In Bruno Admin Roles, you enter: `admin,BrunoAdmin`
  * In Bruno User Roles, you enter: `user,Engineering,QA`
  * Result: Users with the `Engineering` role are able to activate their Bruno licenses with SSO (matches "Engineering" in User Roles)
</Info>

<Warning>
  **Important**: Role values are case-sensitive. Ensure the values in Okta's `roles` attribute match exactly with the values you enter in Bruno's Admin Roles or User Roles fields.
</Warning>

### Step 4: Configure Session Settings

1. Scroll down to the **Session Timeout** section:
   * Set the session timeout in seconds (default: 3600 = 1 hour)
2. Click **Save Configuration** to apply your SAML SSO configuration

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-12.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=fce21c8dbcd380afc7bd26f08dcb9805" alt="Configure session timeout in Bruno License Portal" width="783" height="281" data-path="images/screenshots/sso-scim-management/okta/okta-sso-12.webp" />

## Test Your SAML Configuration

### Assign Users or Groups

1. In your Okta Bruno application, navigate to the **Assignments** tab
2. Click **Assign** → **Assign to People** or **Assign to Groups**
   * **Note**: Users assigned must already exist in your subscription under the Bruno License Portal in order to login with SSO
3. Select the users or groups that should have access to Bruno
4. Click **Assign** and **Done**

<img src="https://mintcdn.com/bruno-a6972042/uGT0Shya7KZFqFkD/images/screenshots/sso-scim-management/okta/okta-sso-13.webp?fit=max&auto=format&n=uGT0Shya7KZFqFkD&q=85&s=f5a8af94137e08852fd2aea0a069c2f7" alt="Assign users or groups to Bruno app in Okta" width="751" height="390" data-path="images/screenshots/sso-scim-management/okta/okta-sso-13.webp" />

### Test SSO Login

1. Navigate to the Bruno License Portal ([https://license.usebruno.com/](https://license.usebruno.com/))
2. Enter the email address of a user assigned to the Bruno app in Okta
3. Click **Login with SSO**
4. You should be redirected to Okta to authenticate

<img src="https://mintcdn.com/bruno-a6972042/KbpwWkeN627E4ypz/images/screenshots/sso-scim-management/saml-sso/bruno-lic-mgr-loginwsso.webp?fit=max&auto=format&n=KbpwWkeN627E4ypz&q=85&s=e75a424ab089ed85d3446530d3c69a97" alt="Login with SSO in Bruno License Portal" width="1388" height="1086" data-path="images/screenshots/sso-scim-management/saml-sso/bruno-lic-mgr-loginwsso.webp" />

5. If your user is an admin in Bruno and contains the correct role mapping, you should be redirected back to the Bruno License Portal

## Next Steps

After setting up SSO with Okta, you can:

* [Configure SCIM Provisioning](../scim-provisioning/overview) to automate user provisioning and deprovisioning
* [Manage your Bruno licenses](../license-portal) in the License Portal

## Related Resources

For more information about configuring SAML SSO and managing attributes in Okta, refer to these Okta documentation resources:

* [SAML app integrations](https://help.okta.com/en-us/content/topics/apps/apps-about-saml.htm) - Overview of SAML protocol and Okta SAML applications
* [Create SAML app integrations](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_saml.htm) - Step-by-step guide for creating SAML applications in Okta
* [Define attribute statements](https://help.okta.com/en-us/content/topics/apps/define-attribute-statements.htm) - Configure SAML attribute statements for user attributes and roles
* [Define group attribute statements](https://help.okta.com/en-us/content/topics/apps/define-group-attribute-statements.htm) - Map Okta groups to SAML attributes for role-based access control
* [Application Integration Wizard SAML field reference](https://help.okta.com/en-us/content/topics/apps/aiw-saml-reference.htm) - Reference guide for SAML configuration fields
* [Build a Single Sign-On (SSO) integration](https://developer.okta.com/docs/guides/build-sso-integration/saml2/main/) - Developer guide for building SAML SSO integrations
