# SSO Application

#### Applications&#x20;

The **Applications** provides a robust interface for administrators to integrate third-party applications with the platform and deliver a Single Sign-On (SSO) dashboard for users. This feature simplifies access management and enhances user convenience by offering a centralized hub for multiple applications.

Click on the Connect New Application On the Right Corner&#x20;

<figure><img src="https://1757876898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHJr75kSc6HL16U7k3F6%2Fuploads%2FnvNPwTgKzD2r1HoaTiAJ%2Fsso%201.png?alt=media&#x26;token=6a9bf049-ce6b-41a3-bb92-4fba30802812" alt=""><figcaption></figcaption></figure>

Below are the application types we offer.

<figure><img src="https://1757876898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHJr75kSc6HL16U7k3F6%2Fuploads%2F1aLn5EayAkY0zRNrXjAk%2FAPP-list-settings-11-25-2024_01_08_PM.png?alt=media&#x26;token=9b0a7be4-40a1-4a77-a42a-9d3ad72fbe72" alt=""><figcaption></figcaption></figure>

***OFFICE365:***

<figure><img src="https://1757876898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHJr75kSc6HL16U7k3F6%2Fuploads%2F8fW6FWJLKxGFebA0qBA9%2Foffice365-settings-11-25-2024_04_29_PM.png?alt=media&#x26;token=41fc7772-6efd-4499-bd7d-8f01996029d8" alt=""><figcaption></figcaption></figure>

&#x20;***Office 365***

<figure><img src="https://1757876898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHJr75kSc6HL16U7k3F6%2Fuploads%2FhWBQP2NLygsduaihXgXh%2Fofce.png?alt=media&#x26;token=f7a8c6c4-75d5-429d-aab5-72a7c2729f04" alt=""><figcaption></figcaption></figure>

**1. Provider Details**

This section captures the basic details about the application provider.

* **Provider Name** (Required):\
  Enter the unique name of the application provider.\
  Example: `Google Auth`.
* **Provider Display Name** (Required):\
  Enter the display name of the provider, which will appear in the user interface.\
  Example: `Google`.
* **Provider Display Logo** (Optional):\
  Provide a URL for the provider’s logo that will be displayed alongside the application name.\
  Example: `https://example.com/logo.png`.
* **Enable** (Toggle):\
  Use this toggle to activate or deactivate the provider.\
  Default: **Disabled**.

**2. Connector String**

This section collects details for connecting to the application.

* **Client Id** (Required):\
  Enter the client ID provided by the application provider.
* **Client Secret** (Required):\
  Provide the client secret for authentication.
* **Tenant Id** (Required):\
  Enter the tenant ID associated with the application.
* **Domain** (Required):\
  Specify the domain name for the application.\
  Example: `example.com`.

**3. Sync Settings**

This section manages data synchronization settings.

* **Sync Trigger Frequency** (Required):\
  Select the frequency at which data synchronization should occur.\
  Options might include:
  * Every 1 Minutes
  * Every 5 Minutes
  * Every 10 Minutes
  * Every 15 Minutes

&#x20;***Google Workspace:***

<figure><img src="https://1757876898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHJr75kSc6HL16U7k3F6%2Fuploads%2FynlavAAEc6j7pnVm3mti%2Fgoogle.png?alt=media&#x26;token=a9032cb4-3379-435a-98fc-58ee1a8f8161" alt=""><figcaption></figcaption></figure>

**1. Provider Details**

This section captures general information about the SSO provider.

* **Provider Name** *(Required)*:\
  Enter the unique name of the provider. This is used for identification purposes.\
  Example: `GoogleAuth`.
* **Provider Display Name** *(Required)*:\
  Specify the name to be displayed in the user interface.\
  Example: `Google`.
* **Provider Display Logo** *(Required)*:\
  Provide a URL pointing to the logo image of the provider.\
  Example: `https://example.com/logo.png`.
* **Enable** *(Toggle)*:\
  Enable or disable the SSO provider. Default: **Disabled**.

**2. Config**

This section collects essential configuration details for connecting to the SSO provider.

**Client Details**

* **Client Id** *(Required)*:\
  Enter the unique identifier for the client application.
* **Project Id** *(Required)*:\
  Specify the project ID associated with the application provider.
* **Private Key Id** *(Required)*:\
  Provide the private key ID used for authentication.
* **Private Key** *(Required)*:\
  Enter the private key in the designated input box.
* **Client Email** *(Required)*:\
  Enter the client email associated with the application.
* **Auth URI** *(Required)*:\
  Provide the URL for authentication requests.\
  Example: `https://auth.example.com`.
* **Token URI** *(Required)*:\
  Specify the endpoint for token retrieval.\
  Example: `https://token.example.com`.
* **Auth Provider URI** *(Required)*:\
  Enter the URL for the authentication provider.\
  Example: `https://provider.example.com`.
* **Client URL** *(Required)*:\
  Provide the client URL for the application.
* **Admin Email** *(Required)*:\
  Enter the administrator's email address for managing the application.
* **Universe Domain** *(Required)*:\
  Specify the domain name of the application provider.\
  Example: `example.com`.
* **Scopes** *(Required)*:\
  Add the required scopes for the application. Click the **+** button to add multiple scopes.
* **Domain** *(Required)*:\
  Specify the domain for the client’s application.

**3. Sync Settings**

This section allows users to define synchronization settings.

* **Sync Trigger Frequency** *(Required)*:\
  Select the frequency at which synchronization occurs.\
  Example options include:
  * Every 1 Minutes
  * Every 5 Minutes
  * Every 10 Minutes
  * Every 15 Minutes

***Rest API***

<figure><img src="https://1757876898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHJr75kSc6HL16U7k3F6%2Fuploads%2FTQQalo1yYfm4mK8DC7Aa%2Frest%20api.png?alt=media&#x26;token=089981bb-5282-4944-a0bf-5d23b7f757c7" alt=""><figcaption></figcaption></figure>

The form is divided into three primary sections: **Provider Details**, **Config**, and **Apps**.

**1. Provider Details**

This section is used to define the basic information about the provider.

* **Provider Name** *(Required)*:\
  Enter a unique name for the provider. This name is used for internal identification purposes.\
  Example: `SkillmineSSO`.
* **Provider Display Name** *(Required)*:\
  Specify the name that will be displayed in the user interface.\
  Example: `Skillmine`.
* **Provider Display Logo** *(Required)*:\
  Provide the URL of the provider's logo to visually identify it in the UI.\
  Example: `https://example.com/logo.png`.
* **Enable** *(Toggle)*:\
  Use this toggle to enable or disable the provider. Default: **Disabled**.

**2. Config**

This section collects critical configuration details for connecting to the application.

* **Login URL** *(Required)*:\
  Provide the login URL for the application.\
  Example: `https://auth.skillmine.com/login`.

**3. Apps**

This section allows you to define and manage multiple applications associated with the provider.

* **App Display Name** *(Required)*:\
  Enter the name of the application to be displayed in the interface.\
  Example: `Skillmine Dashboard`.
* **App Landing Page** *(Required)*:\
  Specify the login or landing page URL for the app.\
  Example: `https://dashboard.skillmine.com`.
* **App Display Logo** *(Required)*:\
  Provide a URL pointing to the app's logo. This is displayed alongside the app's name.\
  Example: `https://example.com/app-logo.png`.
* **Enable** *(Toggle)*:\
  Use this toggle to enable or disable the application. Default: **Disabled**.

**Adding Multiple Apps**

To add more applications:

1. Click the **+ Add More Apps** button.
2. A new set of fields will appear&#x20;

***SAML***

<figure><img src="https://1757876898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNHJr75kSc6HL16U7k3F6%2Fuploads%2F68XEsu10h6iNsIvaVa6x%2Fsaml.png?alt=media&#x26;token=9c431880-234d-441b-823a-4805d0eebd9d" alt=""><figcaption></figcaption></figure>

**1. Provider Details**

Defines the basic provider information.

* **Provider Name** *(Required)*:\
  Enter a unique name for the provider.\
  Example: `SkillmineSSO`.
* **Provider Display Name** *(Required)*:\
  Enter the name that will be displayed in the interface.\
  Example: `Skillmine`.
* **Provider Display Logo** *(Required)*:\
  Provide a URL for the provider's logo.\
  Example: `https://example.com/logo.png`.
* **Client ID** *(Dropdown)*:\
  Select the client associated with this provider.
* **Enable** *(Toggle)*:\
  Use this toggle to enable or disable the provider. Default: **Disabled**.

**2. Config**

Allows the user to manage certificate settings for SAML integration.

* **Certificates Section**:
  * **Signing Certificate**:
    * Certificate: Paste the signing certificate content.
    * **Signing SHA256 Certificate**:
      * **Thumb Print**: Displays the certificate's SHA256 thumbprint.
      * **Finger Print**: Displays the certificate's fingerprint.
      * **Download Signing Certificate**: Button to download the signing certificate.
  * **Encryption Certificate**:
    * Certificate: Paste the encryption certificate content.
    * **SHA256 Certificate**:
      * **Thumb Print**: Displays the certificate's SHA256 thumbprint.
      * **Finger Print**: Displays the certificate's fingerprint.
      * **Download Encryption Certificate**: Button to download the encryption certificate.

**3. SP Meta Data**

* **SP Meta Data** *(Required)*:\
  Paste or enter the Service Provider Metadata in this field.

**4. IDP Initiated Login**

* **Enable IDP Initiated Login** *(Toggle)*:\
  Use this toggle to enable or disable IDP-initiated login. Default: **Disabled**.

**5. SAML Assertion Response Attribute Mapping Setting**

Configure mapping of SAML assertion attributes for successful login payloads.

* **Variable**:\
  Enter the variable name to be used in Office 365 or another system.\
  Example: `Office 365 variable name`.
* **Select Datatype** *(Dropdown)*:\
  Choose the datatype for the variable. Options include String, Number, etc.
* **Select Auth Variable** *(Dropdown)*:\
  Map the variable to an existing authentication user information variable.
* **Add Button (+)**:\
  Click the **+** button to add more mapping configurations.

**6. Apps**

Configure the applications associated with the SSO provider.

* **App Display Name** *(Required)*:\
  Enter the name of the app to be displayed in the interface.\
  Example: `Skillmine Dashboard`.
* **App Landing Page** *(Required)*:\
  Provide the landing page URL for the application.\
  Example: `https://dashboard.skillmine.com`.
* **App Display Logo** *(Required)*:\
  Enter the URL for the app's logo.\
  Example: `https://example.com/app-logo.png`.
* **Enable** *(Toggle)*:\
  Use this toggle to enable or disable the app. Default: **Disabled**.
* **Add More Apps**:\
  Click the **+ Add More Apps** button to add multiple applications.

#### OPENID CONNECT:

**1. Provider Details**&#x20;

Defines the basic provider information.&#x20;

* Provider Name (Required): Enter a unique name for the provider. Example: SkillmineSSO.&#x20;
* Provider Display Name (Required): Enter the name that will be displayed in the interface. Example: Skillmine.&#x20;
* Provider Display Logo (Required): Provide a URL for the provider's logo. Example: <https://example.com/logo.png.&#x20>;
* Enable (Toggle): Use this toggle to enable or disable the provider. Default: Disabled.&#x20;

**2. Connector String**&#x20;

This section collects details for connecting to the application.&#x20;

* Client Id (Required): Enter the client ID provided by the application provider.&#x20;
* Redirect URL (Required): The URL to which the user is redirected after successful authentication.&#x20;
* Authorization URL (Required): The OIDC provider's endpoint where users authenticate and authorize the application.&#x20;
* Scopes: Add the required scopes for the application. &#x20;

**3. Apps**&#x20;

Configure the applications associated with the SSO provider.&#x20;

* App Display Name (Required): Enter the name of the app to be displayed in the interface. Example: Skillmine Dashboard.&#x20;
* App Landing Page (Required): Provide the landing page URL for the application. Example: <https://dashboard.skillmine.com.&#x20>;
* App Display Logo (Required): Enter the URL for the app's logo. Example: <https://example.com/app-logo.png.&#x20>;
* Enable (Toggle): Use this toggle to enable or disable the app. Default: Disabled.&#x20;
* Add More Apps: Click the + Add More Apps button to add multiple applications.&#x20;
