Skip to main content

How to Set Up SSO with Azure AD

Updated over 2 weeks ago

This guide walks you through the process of configuring Single Sign-On (SSO) between Microsoft Azure Active Directory (Azure AD) and Keycloak using the OpenID Connect (OIDC) protocol.

⚠️ To complete this setup, you must have permissions to create and manage enterprise applications in Azure AD.

Step-by-Step Instructions

  1. Sign in to Microsoft Azure

    Go to https://portal.azure.com and sign in with an account that has the necessary admin permissions.

  2. Navigate to Microsoft Entra ID.

  3. Click on Enterprise Applications on the side menu.

1. Create a New Application

  • Click + New application at the top of the page.

2. Register a Custom Application

  • Select Create your own application

  • Choose Register an application to integrate with Microsoft Entra ID (App you're developing)

3. Configure Application Settings

  • Name: Provide a descriptive name for the application.

  • Supported account types: Select Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant)

  • Redirect URI: https://keycloak.{ENVIRONMENT_NAME}.corti.live/realms/{ENVIRONMENT_NAME}/broker/oidc/endpoint

⚠️ The redirect URI will be provided to you by Corti. You can leave this field blank for now if it's not yet available.

4. Save Application Details

After registration, go to the app’s Overview and copy the following values:

  • Application (client) ID

  • Directory (tenant) ID

5. Configure API Permissions

  • Click on Single sign-on, then select Go to application

  • Navigate to API permissions

  • Click + Add a permission

  • Select Microsoft Graph → Delegated permissions

  • Add the following scopes:

    • email

    • openid

    • profile

  • Click Add permissions, then Grant admin consent

6. Generate a Client Secret

  • Go to Certificates & secrets

  • Click + New client secret

  • Add a description and select an expiration period

    ⚠️ If the secret expires, SSO will break and the secret must be updated manually. For simplicity, we recommend selecting no expiration.

  • Copy the client secret immediately after it's created — you won't be able to retrieve it again later.

7. Share Credentials with Corti

Send Corti the following information:

  • Application (Client) ID

  • Client Secret

Did this answer your question?