> For the complete documentation index, see [llms.txt](https://docs.flosum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flosum.com/global-settings/security/identity-providers-sso/oidc-identity-providers/microsoft-entra-id-oidc-configuration.md).

# Microsoft Entra ID - OIDC - Configuration

{% hint style="success" %}

#### Required User Credentials

\[**Flosum User**] - **SystemAdministrator** Role
{% endhint %}

{% hint style="success" %}

#### Important Note

The instructions in this article cover a third-party app and may not reflect the latest version. Please use these instructions as a guide to complete the task, but be aware that some screens, field names, and steps may have changed.
{% endhint %}

## ![](https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FSxcnKlaJKPzDqONWoDNv%2FSummary2-Small-Icon.svg?alt=media\&token=5e3253d0-a069-4ba5-9c06-83c70bd0b21d) Overview

This guide explains how to integrate Microsoft Entra ID using OpenID Connect (OIDC) with Flosum Cloud Apps to enable Single Sign-On (SSO) for seamless login. If you prefer to integrate Entra ID via SAML, refer to the following article.

* [Microsoft Entra ID - SAML - Configuration](/global-settings/security/identity-providers-sso/saml-identity-providers/microsoft-entra-id-saml-configuration.md)

{% hint style="info" %}
For more general instructions about adding an Identity Provider, see the following article.

* [Adding an Identity Provider (SSO)](/global-settings/security/identity-providers-sso/adding-an-identity-provider-sso.md)
  {% endhint %}

{% hint style="warning" %}

#### Customer-Hosted

Customers who host Flosum Apps on their own infrastructure will have a custom URL for logging into their apps. When using this documentation, replace any **Flosum Hosted URLs** with your own URLs.
{% endhint %}

### Outline Of Steps Involved

* **Create an Azure Active Directory App**
* **Set the Redirect URL**
* **Determine Issuer URL**
* **Obtain the Client ID and Client Secret**
* **Create an Identity Provider with Flosum Global Settings**
* **Test the SSO**

## Configuring Entra ID for Flosum Cloud Apps

This section shows you how to configure an Entra ID App to work with Flosum Cloud Apps for SSO.

{% hint style="warning" %}
These instructions were written for Microsoft Azure Active Directory, which has since been rebranded as Entra ID. While there may be some minor differences with the instructions, they can still be used to complete the process.
{% endhint %}

{% stepper %}
{% step %}

### Register an App in Azure Active Directory

1. Navigate to the Azure portal.
2. Access the **Azure Active Directory** service.
3. Click on the **Add** button.
4. From the dropdown options, select **App registration**.

   <div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FrV2k8g0kVXN3G5B6zV9s%2Fimage_01.jpg?alt=media&amp;token=7c307883-4f86-4dd2-8e74-d484bbf596f2" alt=""><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Complete the App Registration

1. Enter a name for your application in the **Name** field.
2. Select the **Supported account types** based on your organization's requirements.
3. Input the **Redirect URI** where Azure AD will send the authentication response.&#x20;

   <div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FGB1oI2YpfUqNNxdUOTHD%2Fimage_02.jpg?alt=media&amp;token=a1f25d6a-95c6-4b15-8350-75e89dade01e" alt="" width="563"><figcaption></figcaption></figure></div>
4. In the **Callback URL** field, add the URL of your region for each Flosum Cloud App you want to use with SSO. See the table below for the URLs for your region.

{% tabs %}
{% tab title="United States URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Callback URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-us.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-us.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>DevOps</td><td>https://devops-us.flosum.app/api/v1/auth/login/open-id</td></tr></tbody></table>
{% endtab %}

{% tab title="Germany URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Callback URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-de.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-de.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>DevOps</td><td>https://devops-de.flosum.app/api/v1/auth/login/open-id</td></tr></tbody></table>
{% endtab %}

{% tab title="Japan URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Callback URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-jp.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-jp.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>DevOps</td><td>https://devops-jp.flosum.app/api/v1/auth/login/open-id</td></tr></tbody></table>
{% endtab %}

{% tab title="Australia URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Callback URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-au.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-au.flosum.app/api/v1/auth/login/open-id</td></tr><tr><td>DevOps</td><td>https://devops-au.flosum.app/api/v1/auth/login/open-id</td></tr></tbody></table>
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Set Up Authentication and Logout URL

1. Navigate to the **Authentication** section.
2. In the **Logout URL** field, add the URL of your region for each Flosum Cloud App you want to use with SSO. See the table below for the URLs for your region.  **Note**: This field is mandatory.

   <div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2F0uD7dvsnaZO4yrFsGCuD%2Fimage_03.jpg?alt=media&amp;token=67f62d1a-1c58-4a4d-945d-21a647c5406f" alt=""><figcaption></figcaption></figure></div>

{% tabs %}
{% tab title="United States URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Sign-Out URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-us.flosum.app/api/v1/oauth/login</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-us.flosum.app/api/v1/oauth/login</td></tr><tr><td>DevOps</td><td>https://devops-us.flosum.app/api/v1/oauth/login</td></tr></tbody></table>
{% endtab %}

{% tab title="Germany URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Sign-Out URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-de.flosum.app/api/v1/oauth/login</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-de.flosum.app/api/v1/oauth/login</td></tr><tr><td>DevOps</td><td>https://devops-de.flosum.app/api/v1/oauth/login</td></tr></tbody></table>
{% endtab %}

{% tab title="Japan URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Sign-Out URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-jp.flosum.app/api/v1/oauth/login</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-jp.flosum.app/api/v1/oauth/login</td></tr><tr><td>DevOps</td><td>https://devops-jp.flosum.app/api/v1/oauth/login</td></tr></tbody></table>
{% endtab %}

{% tab title="Australia URLs" %}

<table><thead><tr><th width="180">Flosum Cloud App</th><th>Sign-Out URL</th></tr></thead><tbody><tr><td>Global Settings</td><td>https://global-au.flosum.app/api/v1/oauth/login</td></tr><tr><td>Backup &#x26; Archive</td><td>https://backup-au.flosum.app/api/v1/oauth/login</td></tr><tr><td>DevOps</td><td>https://devops-au.flosum.app/api/v1/oauth/login</td></tr></tbody></table>
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Generate a New Client Secret

1. Proceed to the **Certificates & secrets** section.
2. Click **New client secret**.
3. Fill in the necessary details.
4. Click **Add** to generate the secret.&#x20;

   <div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2Fyvq0e4bCWP3U9bVmlipA%2Fimage_04.jpg?alt=media&amp;token=5fa2c205-152d-473c-9f03-4265fcf95ddd" alt=""><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Retrieve the Issuer URL

{% hint style="info" %}
You will need the **ISSUER\_BASE\_URL** value when creating the Identity Provider in Flosum Global Settings.
{% endhint %}

1. Navigate to App registrations in Azure Active Directory.
2. Select your App Name and go to the **Overview** section.
3. Find and copy the **ISSUER\_BASE\_URL**, which will appear like `https://login.microsoftonline.com/<tenant id>`

   <div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FOu6TXmMexo1FgXNrrEaf%2Fimage_05.jpg?alt=media&amp;token=90212c57-1579-4ad4-ab52-7609084c2683" alt=""><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Retrieve the Client ID and Client Secret

{% hint style="info" %}
You will need the **Application (client) ID** and **Client Secrets Value** when creating the Identity Provider in Flosum Global Settings.
{% endhint %}

1. In Azure Active Directory, go to **App registrations**.
2. Select your App Name.
3. Your client ID will be listed under **Application (client) ID**; copy the value.

   <div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FGT4kr1Ri8KBBTEvxQfuk%2Fimage_06.jpg?alt=media&amp;token=d08067c5-f73a-48a5-892c-7586a7824aa3" alt=""><figcaption></figcaption></figure></div>
4. In the **Certificates & secrets** section, find and copy the **Value** under the **Client Secret** tab.

   <div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FF5M6OmeWbinHQ6Am0Eh2%2Fimage_07.jpg?alt=media&amp;token=e29664f9-d2b8-4161-b81c-b98f4fcfd503" alt=""><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}

## Create Identity Provider In Global Settings

{% stepper %}
{% step %}

### Create Identity Provider

Follow the general instructions in the article below to get started creating an OIDC Identity Provider.

1. [Adding an Identity Provider (SSO)](/global-settings/security/identity-providers-sso/adding-an-identity-provider-sso.md)
2. Complete the **Basic information** section.
   1. Select **OPEN\_ID** for the identity provider **Type**.
3. Complete the **Button information** section.
4. (Optional) Complete the **Group information** section.

#### **Complete OpenId Information Fields**

Copy the information from your Entra ID application into the OpenId Information section. The table explains which Entra ID values to enter into which Flosum Fields. The final screenshot shows a completed identity provider for an Entra ID OIDC application.

The sections above show you how to find the values found in the **Entra ID Field/Value** column.

| Flosum Field      | Entra ID Field/Value        |
| ----------------- | --------------------------- |
| **Client ID**     | **Application (client) ID** |
| **Client Secret** | **Client Secrets Value**    |
| **Issuer**        | **ISSUER\_BASE\_URL**       |

<div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FETJc0Ponhf9LRyUp0Fid%2FEntraIdOidcConfig-CreateIdentityProvider-01.png?alt=media&amp;token=b965871b-b639-449e-b3a7-990208e6e7ef" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Save and Test

{% hint style="info" %}
For instructions on logging in with SSO, see the following article.

* [Logging In With SSO](/global-settings/security/identity-providers-sso/logging-in-with-sso.md)
  {% endhint %}

1. Click **Save** to save the identity provider.
2. To test, open an incognito window.
3. Start logging in to Global Settings with your tenant name.
4. If the identity provider was configured successfully, you should see the SSO button you created.&#x20;

<div align="left"><figure><img src="https://579543750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsEk2hU5IMh3HEY5dJZjR%2Fuploads%2FwuToIttXUZEjEQytQypX%2FEntraIdOidcConfig-CreateIdentityProvider-02.png?alt=media&amp;token=e8eb599a-3cae-42b1-9ba7-71ee4f49f28d" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flosum.com/global-settings/security/identity-providers-sso/oidc-identity-providers/microsoft-entra-id-oidc-configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
