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

# PingOne

> How to set up PingOne with Unblocked

Centralize your team's access to Unblocked by connecting it to PingOne.

## Configure Single Sign-On

Follow the steps below to configure single sign-on for PingOne.

<Steps>
  <Step title="Go to the Unblocked SSO Settings">
    Navigate to the **Settings** section of the Unblocked web app.
    Under Team Settings, select **Security**.
    Locate the Single Sign-On section and click **Configure**.

    <img src="https://mintcdn.com/unblocked/6EnUukZ0PqneZZya/img/sso/saml-unconfigured.png?fit=max&auto=format&n=6EnUukZ0PqneZZya&q=85&s=8a085ce78bd64c22e88430e6ded14685" alt="SSO Configuration" width="2880" height="1821" data-path="img/sso/saml-unconfigured.png" />
  </Step>

  <Step title="Create a SAML Application">
    From your PingOne console, navigate to the Applications tab.
    Click the plus (+) button to add an **Application**.

    Enter **Unblocked** as the application name, enter a description, and upload the [Unblocked icon](#download-unblocked-logo).

    Select **SAML Application** as the application type.

    Click **Configure**.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/sso/ping-one/ping-saml1.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=4b4a2e6f71e479a0fe33b272c54919c6" alt="Create PingOne App" width="2782" height="1902" data-path="img/sso/ping-one/ping-saml1.png" />
  </Step>

  <Step title="SAML Configuration">
    Copy the following two values provided from your Unblocked web app into the **SAML Configuration** section:

    * `ACS URL`
    * `Entity ID`

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/sso/ping-one/ping-saml2.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=d640d01d2fb2f0300cadbcbd6da44079" alt="SAML Configuration" width="2782" height="1926" data-path="img/sso/ping-one/ping-saml2.png" />
  </Step>

  <Step title="Copy SAML metadata into Unblocked">
    From the **Overview** tab of your SAML application,
    copy the following three values from your new PingOne application into the **Configure PingOne** form in Unblocked:

    * `Issuer ID`
    * `Initiate Single Sign-On URL`
    * `Signing Certificate` (X509 PEM)

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/sso/ping-one/ping-saml3.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=acfef68a5aaeed2299b302007dea7ba2" alt="Copy SAML metadata" width="2782" height="1926" data-path="img/sso/ping-one/ping-saml3.png" />
  </Step>

  <Step title="Configure Attribute Mappings">
    From the **Attribute Mappings** tab of your SAML application,
    ensure that the following three attribute mappings are configured:

    | Attributes     | PingOne Mappings |
    | :------------- | :--------------- |
    | `saml_subject` | `Email Address`  |
    | `firstName`    | `Given Name`     |
    | `lastName`     | `Family Name`    |

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/sso/ping-one/ping-saml4.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=2cc625513f94b1703ebeef45b2b51bfc" alt="Attribute Mappings" width="2782" height="1926" data-path="img/sso/ping-one/ping-saml4.png" />
  </Step>

  <Step title="Click Save">
    Click **Next** to proceed to the final step,
    then click the toggle to enable the application.
  </Step>
</Steps>

## User and Group Provisioning

Once you've configured SSO, you can enable user and group provisioning to automatically manage user access to Unblocked.
This feature allows you to automatically create, update, and deactivate users in Unblocked based on changes in PingOne.

To configure SCIM provisioning from PingOne to Unblocked, you'll need to create a new SCIM connection and a new provisioning rule in PingOne.

<Steps>
  <Step title="Generate SCIM API Token">
    In the Unblocked web app, navigate to the **Settings** section.
    Under Team Settings, select **Security**.
    Locate the SCIM User and Group Provisioning section and click **Configure**.

    <img src="https://mintcdn.com/unblocked/6EnUukZ0PqneZZya/img/scim/scim-unb-configure.png?fit=max&auto=format&n=6EnUukZ0PqneZZya&q=85&s=2f4c317ea748c63c6b2b9dbcf3806d31" alt="SCIM Configure" width="2880" height="1820" data-path="img/scim/scim-unb-configure.png" />

    Click **Add Token** to generate a new API token for SCIM provisioning. Copy both the new API token and the **Base URL**.

    <img src="https://mintcdn.com/unblocked/6EnUukZ0PqneZZya/img/scim/scim-unb-keys.png?fit=max&auto=format&n=6EnUukZ0PqneZZya&q=85&s=41595680248cb3c5444d1a748d4dae93" alt="Generate API Token" width="2880" height="1820" data-path="img/scim/scim-unb-keys.png" />
  </Step>

  <Step title="Create a new Provisioning Connection">
    From your PingOne console, navigate to the **Provisioning** tab.
    Click **New Connection**.

    <img src="https://mintcdn.com/unblocked/GS-c8rr-FQWhrU4y/img/scim/ping-one/scim/ping-scim1.png?fit=max&auto=format&n=GS-c8rr-FQWhrU4y&q=85&s=c228d9a3897c05d449961650d2c0a673" alt="New Connection" width="2782" height="1824" data-path="img/scim/ping-one/scim/ping-scim1.png" />

    Select the **Identity Store** connection type.

    <img src="https://mintcdn.com/unblocked/GS-c8rr-FQWhrU4y/img/scim/ping-one/scim/ping-scim2.png?fit=max&auto=format&n=GS-c8rr-FQWhrU4y&q=85&s=a5e36fdd3a47edb7ff465c1e2863111b" alt="Select Identity Store" width="2782" height="1926" data-path="img/scim/ping-one/scim/ping-scim2.png" />

    Select the **SCIM Outbound** identity store and click **Next**.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/scim/ping-scim3.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=beec5306f6fee2e8d4b73c25dca5ef81" alt="Select SCIM Outbound" width="2782" height="1926" data-path="img/scim/ping-one/scim/ping-scim3.png" />

    Enter **Unblocked SCIM** as the connection name,
    optionally enter a description,
    and upload the [Unblocked icon icon](#download-unblocked-logo).

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/scim/ping-scim4.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=d433b4449511605692a91eb2c4e786fd" alt="Connection Name" width="2782" height="2336" data-path="img/scim/ping-one/scim/ping-scim4.png" />

    To configure authentication, enter the following values:

    * **SCIM Base URL**: enter the **Base URL** that you copied earlier from Unblocked.
    * **Authentication Method**: select the `OAuth 2 Bearer Token` option
    * **OAuth Access Token**: enter the API Token that you copied earlier from Unblocked.
    * **Auth Type Header**: enter `Bearer`

    Click **Test Connection** to verify the connection, and then click **Next**.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/scim/ping-scim5.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=021134574c0c09873fe62b2c28d805be" alt="Configure Authentication" width="2782" height="1926" data-path="img/scim/ping-one/scim/ping-scim5.png" />

    To configure preferences, ensure that the following values are set:

    * User Filter Expression: `username Eq "%s"`
    * User Identifier: `workEmail`
      Then click **Save**.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/scim/ping-scim6.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=2c397584f5489b676ecefea532fe0437" alt="Configure Preferences" width="2782" height="2336" data-path="img/scim/ping-one/scim/ping-scim6.png" />

    Finally, toggle the switch for the **Unblocked SCIM** connection to **On**.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/scim/ping-scim7.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=2a5281a4786cb8111735030bfed7dcaa" alt="Enable Connection" width="2782" height="2336" data-path="img/scim/ping-one/scim/ping-scim7.png" />
  </Step>

  <Step title="Create a new Provisioning Rule">
    From your PingOne console, navigate to the **Provisioning** tab.
    Click **New Rule**.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync1.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=92fa6e103a713bb8ba7081ef770afaf6" alt="New Rule" width="2782" height="2336" data-path="img/scim/ping-one/sync/ping-sync1.png" />

    Enter "Sync to Unblocked" as the rule name, and optionally enter a description.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync2.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=2f71c901b00824bed707a432ecd94727" alt="Rule Name" width="2782" height="2336" data-path="img/scim/ping-one/sync/ping-sync2.png" />

    Choose the **Unblocked SCIM** connection that you created earlier as the **Target**.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync3.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=6f54b9dca6e55168d551a1f0cb35ad6b" alt="Connection Target" width="2782" height="2336" data-path="img/scim/ping-one/sync/ping-sync3.png" />

    On the **User Filter** tab, click the edit icon to select the users you want to sync to Unblocked.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync4.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=d56c4030f3409d397258cfd399a579da" alt="User Filter Edit" width="2782" height="2336" data-path="img/scim/ping-one/sync/ping-sync4.png" />

    In this example, we're syncing all users in the default population in the PingOne directory.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync5.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=abfe8b33fa2dd09ce98274cf47d1ef06" alt="User Filter Selection" width="2782" height="1824" data-path="img/scim/ping-one/sync/ping-sync5.png" />

    On the **Attribute Mapping** tab, click the edit icon and ensure that the following mappings are configured:

    | PingOne Directory | Unblocked SCIM |
    | :---------------- | :------------- |
    | `Enabled`         | `active`       |
    | `User ID`         | `externalId`   |
    | `Family Name`     | `familyName`   |
    | `Given Name`      | `givenName`    |
    | `Email Address`   | `userName`     |
    | `Email Address`   | `workEmail`    |

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync6.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=c81363f69c754e5e01788052859fd9b8" alt="Attribute Mapping" width="2782" height="1824" data-path="img/scim/ping-one/sync/ping-sync6.png" />

    On the **Group Provisioning** tab, click the edit icon and select the groups you want to sync to Unblocked.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync7.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=5505d9fdd41cae657e0947f86e3be25e" alt="Group Provisioning" width="2782" height="1824" data-path="img/scim/ping-one/sync/ping-sync7.png" />

    Click **Save** to complete the setup for SCIM provisioning from PingOne to Unblocked.
    Finally, toggle the switch for the **Sync to Unblocked** rule to **On**.
    Users and groups will now begin to sync from PingOne to Unblocked.

    <img src="https://mintcdn.com/unblocked/huIyMMrsU-cj3883/img/scim/ping-one/sync/ping-sync8.png?fit=max&auto=format&n=huIyMMrsU-cj3883&q=85&s=9a05d738470ed215898068324d1c1422" alt="Enable Rule" width="2782" height="1824" data-path="img/scim/ping-one/sync/ping-sync8.png" />
  </Step>
</Steps>

## Enforce SSO

Once SSO is configured, you can enforce its use for your team.
This means all team members will be required to sign in using your SSO provider.

There are two enforcement options:

* **SSO Only**:
  Users will be required to sign in to Unblocked using SSO.
  You may need to sign in with SSO before enabling this option.

* **SSO, a Source Code System, or Slack**:
  Users can sign in using either SSO, their source code system (e.g., GitHub, Bitbucket, or GitLab), or Slack.

<img src="https://mintcdn.com/unblocked/6EnUukZ0PqneZZya/img/sso/enforce/sso-enforce-off-zoom.png?fit=max&auto=format&n=6EnUukZ0PqneZZya&q=85&s=2027f8e85edbc59c56fdc8a6894397e8" alt="SSO Enforcement Options" width="1748" height="1114" data-path="img/sso/enforce/sso-enforce-off-zoom.png" />

## Allowed Email Domains

Verifying a domain ensures that users who enter an email address from that domain on the Unblocked sign-in page are automatically directed to your SSO login.
This creates a seamless login experience and routes users through the correct authentication flow.

You can add multiple domains to enable SSO login detection for users with different email addresses.
To verify a domain:

<Steps>
  <Step title="Add Domain">
    Click **Add Domain** and enter the domain name you want to verify.
  </Step>

  <Step title="Verify Domain">
    Unblocked will prompt you to add a TXT record to your DNS settings to complete the verification.
  </Step>
</Steps>

Once the domain is verified, any user who enters an email address matching that domain on the Unblocked sign-in page will see the SSO login option for your SAML provider.

Verifying a domain only controls the visibility of the SSO login option and does not automatically grant access to
your Unblocked team. Access to Unblocked is still managed through user and group assignments in your identity provider (IdP).

## Download Unblocked Logo

To help your users easily recognize Unblocked in their identity provider dashboard,
download the Unblocked logo for use in your SSO application.

<img src="https://mintcdn.com/unblocked/soZi90zJ9_abJhu-/img/brand/unblocked-512x512.png?fit=max&auto=format&n=soZi90zJ9_abJhu-&q=85&s=1dddee26e2a67f4de23cb62f773c2319" alt="Unblocked Logo" width="50%" data-path="img/brand/unblocked-512x512.png" />
