# Set up SSO login to the Redox dashboard

We offer <u>**single sign-on**</u> **(**<u>**SSO**</u>**)** to the Redox dashboard using your own third-party <u>**identity provider**</u> **(**<u>**IdP**</u>**)**. Redox serves as the <u>**service provider (SP)**</u> in your SSO flow. 

SSO helps you control user access policies with a central resource for your organization. 

Here are SSO glossary terms for your reference:

<details>
<summary>Identity provider (IdP)</summary>

A third-party system that stores and manages users in your organization. This is useful for anyone that wants to enable SSO for their Redox organization. [Learn how to set up SSO](/how-to-use-redox/manage-your-redox-setup/set-up-sso-login-to-the-redox-dashboard) for your organization.

Some examples of common <u>**identity providers**</u> are Okta, Jumpcloud, Entra, or OneLogin. [Read TrustBuilder‘s docs about identity providers](https://www.trustbuilder.com/what-is-identity-provider).

</details>

<details>
<summary>IdP-initiated login </summary>

In terms of SSO, you can initiate a login through your <u>**identity provider**</u> (<u>**IdP**</u>) or the <u>**service provider**</u> (<u>**SP**</u>) can initiate a login.  

If SSO is configured to be <u>**IdP-initiated**</u>, it means you must click somewhere in the app to launch SSO login for the service provider. 

Some examples of IdP-initiated login are Gmail, Slack, and Salesforce. 

</details>

<details>
<summary>Service provider (SP)</summary>

A vendor or site that someone wants to log into in order to perform some type of action. 

In the Redox world, the Redox dashboard is an example of a <u>**service provider**</u>. Authentication and user management is handled by the <u>**identity provider**</u>.

</details>

<details>
<summary>SP-initiated login</summary>

In terms of SSO, you can initiate a login either through your identity provider (IdP) or the service provider (SP) can initiate a login.  

If SSO is configured to to be SP-initiated, it means that the vendor or website launches SSO login on your behalf. 

An example of SP-initiated login is the Redox dashboard. 

</details>

## Prerequisites

- Your IdP must support a <u>**SAML protocol**</u>.
- Choose whether to use an <u>**SP-initiated login**</u> (i.e., login initiated from the Redox dashboard) or <u>**IdP-initiated login**</u> (i.e., login initiated from your IdP). Redox supports both, however, IdP-initiated must be enabled for your Redox organization by your Technical Account Manager. SP-initiated is available today by default. 
- You must be assigned to an <u>**organization owner role**</u> in Redox to configure SSO. [Learn about user roles](/basics/managing-access-for-your-redox-organization/what-are-user-roles).
- SSO is an <u>**advanced feature**</u> and must be enabled in your Redox organization. Talk to your Technical Account Manager if it’s not enabled.
- SSO is only for <u>single Redox organization users</u>. If your organization has users that are part of multiple Redox organizations, they must remove themselves or transfer access to a different Redox account before using SSO. 
- (_Recommended_) Test the SSO configuration with your IdP before enabling SSO in the Redox dashboard. For example, check if users can log in to the IdP as expected. This confirms that your system works with the IdP before adding Redox into the mix.


> **Test before enabling SSO**
>
> If you don’t test before enabling SSO, you risk getting locked out of your Redox organization.



## Step 1: Configure SSO in the Redox dashboard

If you’re an <u>organization owner</u>, follow these steps to enable SSO. 

1. Log in to the Redox dashboard.
2. In the bottom-left navigation menu, click **your username** to open the user menu.
3. From the user menu, select the **Organization profile** option**.**
4. By default, the <u>Organization info</u> page displays. Click the **Settings** tab.
5. The SSO information displays. First, we provide the <u>Redox authorization server values</u>. Use the **Connection name value** and **Audience restriction value** in your IdP configuration. 


![Redox authorization server values](https://images.ctfassets.net/cl3wt5ehhnlv/3gTL9f4Huj65Of74JUH3gw/0f7ff9b8e822d7652f1c33e34320a560/SSO_auth_server_values.png)

*Redox authorization server values*


6. Next, the <u>Identity provider configuration</u> contains details about your IdP. Specific configuration details vary between IdPs, but the basic process is the same. Fill in the relevant fields:
   - <u>Name</u>: Enter a **human-readable name** to represent your IdP.
   - <u>Domain name</u>: This field automatically populates with the company domain and isn’t editable. The domain is where your organization’s users have an email account.
   - <u>Configuration mode</u>: Select either the **URL Import** or **Manual** option.  
     - <u>**URL import**</u>: Enter the public URL for your SAML metadata XML document. Redox pulls the entity ID and keys to validate the response from the IdP. 


![IdP configuration - Import option](https://images.ctfassets.net/cl3wt5ehhnlv/5WYzlvz22tlpcssRRDiLKr/ff739d42a08f798d8a1fea55e2c9e29e/SSO_IdP_configuration.png)

*IdP configuration - Import option*


     - <u>**Manual**</u>: Provide the entity ID and keys yourself.
       - <u>Signing certificate</u>: Enter the **public key** that your IdP uses to sign requests. This should be an X.509 certificate encoded in PEM or CER format. Review the instructions for locating and downloading the certificate for your relevant IdP in the <u>Step 2</u> section. 
       - <u>Sign-in URL</u>: Enter the **redirect URL** for your users to log in to the IdP. 


> **Redox Sign-in URL vs. IdP Sign-in URL**
>
> You must enter a <u>**Sign-in URL**</u> in both the Redox dashboard and your IdP, but these URLs shouldn’t be the same.
>
> - The Sign-in URL in the Redox dashboard _should point to your IdP_.
> - The Sign-in URL in the IdP _should point to the Redox dashboard_.




![IdP configuration - Manual option](https://images.ctfassets.net/cl3wt5ehhnlv/ULeWnhkTe8md61RgOTLz7/cf513fa9fa933d20f00736a44323823d/SSO_IdP_configuration_manual.png)

*IdP configuration - Manual option*


7. Confirm the <u>Attribute mapping</u>. These fields populate automatically, but you should confirm them or adjust as needed.


![IdP configuration - Attribute mapping](https://images.ctfassets.net/cl3wt5ehhnlv/uJFA0bAZN4lc5fZxxJIRY/7e88e0eb485623855c5bf721f6e02611/SSO_attribute_mapping_fields.png)

*IdP configuration - Attribute mapping*


   - <u>User full name</u>: The name of the SAML attribute that your IdP uses for a user’s full name.
   - <u>User email</u>: The name of the SAML attribute that your IdP uses for a user’s email address.
8. Click the **Save** button. 
9. When successfully saved, the <u>Enabled for Organization</u> toggle appears and is set to ON.
To disable SSO later, toggle this option to OFF.  


![SSO enabled for your organization](https://images.ctfassets.net/cl3wt5ehhnlv/4SBX9idws7MShCCfj7651E/3d0b3f39ac46b4455469dbc6eb4c5675/SSO_enabled.png)

*SSO enabled for your organization*


10. Next, configure the SAML protocol. We provide instructions for some common IdPs in the <u>Step 2</u> section.

## Step 2: Configure SAML protocol in your IdP

We provide instructions to configure the SAML protocol for common IdPs. 

> **Where to find the Connection URL**
>
> You can find the `Connection` URL in the Redox dashboard. The value is specific to your Redox organization’s IdP configuration.

<details>
<summary>For Okta</summary>

#### Create a new app

1. Log in to your Okta admin dashboard. 
2. Click the **Applications** tab, then the **Integration network** option.  
3. On the <u>Integration network</u> page, click the **Create a New App** button.
4. The <u>Create a new app integration</u> page opens. Select the **SAML 2.0** option, then click the **Next** button. 


![Okta: Create a new app integration page ](https://images.ctfassets.net/cl3wt5ehhnlv/TyUkGOMQi7kx4OiOzgiq2/da03c61f4f4311d8b06bf82e1d046ea4/Okta-create-new-app-integration.png)

*Okta: Create a new app integration page *

  

#### General Settings

The <u>General Settings</u> opens.

1. Enter an **App name** for your SAML protocol, then click the **Next** button. 


![Okta: App general settings](https://images.ctfassets.net/cl3wt5ehhnlv/7Flvndb87L41nSfGou1uK9/b9b3d26c0a863f1f3934b08231ab0e6c/Okta-general-settings.png)

*Okta: App general settings*



#### SAML Settings

The <u>SAML Settings</u> opens. 

1. Enter the following values:
   1. <u>Single sign on URL</u>: The Redox auth URL 
(**https://auth-v2.redoxengine.com/login/callback?connection=\<CONNECTION\_NAME\>**)
   2. <u>Audience URI</u>: The intended audience of the SAML assertion 
(**urn:auth0:redoxprod:\<CONNECTION\_NAME\>**). 
Copy and paste the **Audience restriction value** from the Redox dashboard (see step #5 in the <u>Step 1</u> section). 


![Okta: App SAML settings](https://images.ctfassets.net/cl3wt5ehhnlv/3QDsm2nLcKkevcOEaYhQfd/b4adf7c961ff581220e0ecca5a129cc1/Okta-saml-settings.png)

*Okta: App SAML settings*


2. Scroll down to the <u>Attribute Statements</u> settings and add the following statements.
   1. Add a statement for the **email address attribute**: 
      - <u>Name</u>: The attribute name
(**http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress**) 
      - <u>Name format</u>: The specified format for the name 
(**Unspecified**)
      - <u>Value</u>: The name value 
(**user.email**) 
   2. Add a statement for the **name attribute**: 
      - <u>Name</u>: The attribute name 
(**http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name**) 
      - <u>Name format</u>: The specified format for the name 
(**Unspecified**)
      - <u>Value</u>: The name value 
(**user.firstName+" "+user.lastName**) 


![Okta: SAML settings - Attribute statements](https://images.ctfassets.net/cl3wt5ehhnlv/3LlbtdnQgYNpL8kD6UUvPs/da3eb14cc0d10184639c9d6b5ad568f0/Okta-attribute-statements.png)

*Okta: SAML settings - Attribute statements*


3. Once the SAML settings are populated, click the **Next** button. 

#### Create an internal app

1. On the next page, select the **I'm an Okta customer adding an internal app** option. 
2. Another set of options appears. Select the **This is an internal app that we have created** option, then click the **Next** button. 
3. On the next page, click the **Sign On** tab. 

#### Sign On option: URL import option in the Redox dashboard

If you chose <u>Configuration mode - URL Import option</u> in the Redox dashboard (step #6 in <u>Step 1</u> section), complete the following steps in both Okta and the Redox dashboard.

In Okta:

1. In the <u>SAML Signing Certificates</u> section, your active signing certificate appears. Click the **Actions** drop-down menu, then click the **View IDP metadata** option. 


![Okta: View IdP metadata for URL import option](https://images.ctfassets.net/cl3wt5ehhnlv/4MNQo2mQtBWYemMWzJD6I2/e9434fad3e1615a1711d7ab84ac32537/okta_metadata.png)

*Okta: View IdP metadata for URL import option*


2. In the new tab, copy the **metadata URL**.

In the Redox dashboard, under the <u>Organization Profile</u> \> <u>Settings</u> \> <u>Identity Provider Configuration</u> section: 

1. Paste the Okta **metadata URL** into the <u>SAML metadata URL</u> field. 


![Redox: IdP configuration - URL import option](https://images.ctfassets.net/cl3wt5ehhnlv/6DFuoo9F2vIUtDuS7FQTe0/b07a0b3a133a0978e85c5485b332d21d/Org-profile-settings-idp-saml-metadata-url.png)

*Redox: IdP configuration - URL import option*


2. Scroll down and click the **Save** button.

#### Sign On option: Manual option in the Redox dashboard

If you chose <u>Configuration mode - Manual option</u> in the Redox dashboard (step #6 in <u>Step 1</u> section), complete these steps:

In Okta: 

1. In the <u>SAML Signing Certificates</u> section, your active signing certificate appears. Click the **Actions** drop-down menu, then click the **Download certificate** option. 


![Okta: Download signing certificate to populate the Redox public key](https://images.ctfassets.net/cl3wt5ehhnlv/6DpKRne5Q9hd34Qk6AHbCg/e41db7db08fdff16d6fd32ab12e294a2/Okta-saml-signing-certificates-download.png)

*Okta: Download signing certificate to populate the Redox public key*


2. Click the **Actions** drop-down menu, then click the **View IdP metadata** option. 
3. A new tab opens. Copy the **Identity Provider Single Sign-on URL** to paste in the Redox dashboard.

In the Redox dashboard, under the <u>Organization Profile</u> \> <u>Settings</u> \> <u>Identity Provider Configuration</u> section: 

1. Copy and paste the downloaded **SAML Signing Certificate value** as the public key in the <u>Signing certificate</u> field.
2. Paste the **Identity Provider Single Sign-on URL** in the <u>Sign-in URL</u> field.


![Redox: IdP configuration - Manual option](https://images.ctfassets.net/cl3wt5ehhnlv/fU1rFLiuXGfi4Bzs47vqL/e10a4d322814a69ef616b1e6702ade1b/Org-profile-settings-idp-manual-settings.png)

*Redox: IdP configuration - Manual option*


3. Scroll down and click the **Save** button. 

After completing all these sections, go back to the Okta admin dashboard to start assigning users to the Redox application.

</details>

<details>
<summary>For Microsoft Azure Active Directory</summary>

1. Log in to your Azure portal.
2. Navigate to the **Azure Active Directory** page. 
3. The directory’s <u>Overview</u> page opens. On the navigation menu, click the **Enterprise applications** page.
4. All of your applications display on the page. Click the **New application** button.
5. The <u>Browse Azure AD Gallery</u> page opens. Click the **Create your own application** button.
6. A modal opens for your new application. Enter a **human-readable name** for the Redox dashboard application. 
7. Then, select the **Integrate any other application you don**’**t find in the gallery (Non-gallery)** option. 
8. Click the **Create** button. 


![Create your own Azure application](https://images.ctfassets.net/cl3wt5ehhnlv/6ONlhCyMU2P6U9XM8fZqJZ/f593dcafc9a0f55b4171c51760b4141f/Azure_create_app.png)

*Create your own Azure application*


9. The enterprise application <u>Overview</u> page opens. Click the **Set up single sign on** option.
10. The <u>Single sign on</u> page opens. Click the **SAML** option.
11. The <u>SAML-based Sign-on</u> settings opens. For the Basic SAML Configuration option, click the **Edit** button.  


![Edit the SAML settings](https://images.ctfassets.net/cl3wt5ehhnlv/4CbZbL9JLe8JPUeieGmGtX/b0c9c5f420bca12c65dbf8ad64984417/7_azuread_sso_overview.png)

*Edit the SAML settings*


12. The <u>Basic SAML Configuration</u> modal opens. Enter the SAML settings: 
    - Click the **Add identifier** link and replace the default identifier ID (entity ID) with the new identifier: **urn:auth0:redoxprod:\<CONNECTION\_NAME\>**.
    - Click the **Add reply URL** link and enter the Redox auth URL: 
**https://auth-v2.redoxengine.com/login/callback?connection=\<CONNECTION\_NAME\>**.
    - After both values are entered, click the **Save** button at the top. 


![SAML settings](https://images.ctfassets.net/cl3wt5ehhnlv/4o7GgYNwnzeYmwgxprwabk/6cef7af51c8586ffcc849a9e25fc14eb/Azure_saml_config_complete.png)

*SAML settings*


13. The modal closes. Back on the <u>SAML-based Sign-on</u> settings, click the **Edit** button for the <u>Attributes & Claims</u> option. 


![Edit the Attributes & Claims](https://images.ctfassets.net/cl3wt5ehhnlv/7zh47Eb26gVtP82lcBZQ7j/9732a848c7a80dcf1b60c9e8364c3faa/Azure_edit_attributes.png)

*Edit the Attributes & Claims*


14. The Redox dashboard currently requires claims for the user’s name and email address. Use the default SAML claims configured in the Azure active directory application, or modify them to meet your organization’s needs. The defaults are the following: 
    - <u>Email</u>: **http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress**.
    - <u>Name</u>: **http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name**.
15. Back on the <u>SAML-based Sign-on</u> settings, locate the **App Federation Metadata URL** under the <u>SAML Signing Certificate</u> option. 
16. _If you chose_ <u>_Configuration mode - URL Import option_</u> _in the Redox dashboard_ (step #6 in <u>Step 1</u> section), copy the **metadata URL** and paste it into the <u>SAML metadata URL</u> field (under Redox <u>Organization Profile</u> \> <u>Settings</u> \> <u>Identity Provider Configuration</u> section).


![Microsoft Azure: Copy the metadata URL](https://images.ctfassets.net/cl3wt5ehhnlv/7F6YeE5cNCx6Y1szCMikCT/9c3fbf7ca15003c2646420f61ea9348b/Azure_metadata_url.png)

*Microsoft Azure: Copy the metadata URL*


17. _If you chose_ <u>_Configuration mode - Manual option_</u> _in the Redox dashboard_ (step #6 in <u>Step 1</u> section), complete these steps:
    1. Copy and paste the Microsoft Azure **Sign On URL value** in the <u>Sign-in URL</u> field (under Redox <u>Organization Profile</u> \> <u>Settings</u> \> <u>Identity Provider Configuration</u> section).
    2. Download the Microsoft Azure **Certificate (Raw)** and paste the value in the <u>Signing Certificate</u> field (under Redox <u>Organization Profile</u> \> <u>Settings</u> \> <u>Identity Provider Configuration</u> section).

</details>

## Step 3: Enable IdP-initiated login

This step is only required if you choose IdP-initiated login. For SP-initiated users, skip to step 4. 

Follow these steps only after completing steps 1 and 2, since IdP-initiated login requires SP-initiated SSO to already be configured.

1. Talk to your Technical Account Manager to have them enable IdP-initiated login for your Redox organization.
2. Redox configures your organization to accept unsolicited SAML assertions from your IdP.
3. Once enabled, set up an app tile/link in your IdP pointing to your Redox organization. Your users will be able to log in directly from there.
4. After creating the app in your IdP, assign any users to that app to enable them to log in.

## Step 4A: Log in to the Redox dashboard (SP-initiated)

Once SSO is successfully enabled in both the Redox dashboard and your IdP, all users must log in with SSO. Any previous Redox credentials will no longer work.

1. Navigate to the Redox dashboard. 
2. Enter your **email address** in the login page. 
3. You’re redirected to your IdP for authentication. 
   1. If successful, you’re redirected back to the Redox dashboard as a logged-in user.
   2. If unsuccessful, [refer to our troubleshooting tips](/troubleshooting/troubleshoot-sso-errors).

> **How users are handled in your IdP**
>
> Any new user who successfully authenticates with your IdP is added to your Redox organization. User access can be revoked by your IdP at any time.
>
> Existing users of your organization may not join another Redox organization. 

## Step 4B: Log in to the Redox dashboard (IdP-initiated)

Once SSO is successfully enabled in both the Redox dashboard and your IdP, all users must log in with SSO. Any previous Redox credentials will no longer work.

1. Navigate to your IdP.
2. In your app login options, click the **Redox** tile.
3. Complete your IdP authentication. 
4. The Redox dashboard opens with an authenticated session. 
