OIDC SSO with Entra ID - Integration Guide

Field

Details

Document Type

How-To Guide - SSO Integration

Applies To

Microsoft Entra ID, Any OIDC-compatible SaaS or Third-Party Application

Audience

2nd Line / Systems Administrator / IT Engineer

Author

AK. Udofeh

Last Updated

March 2026

Overview

This article covers how to configure Single Sign-On (SSO) using the OpenID Connect (OIDC) protocol between Microsoft Entra ID and any third-party or SaaS application that supports OIDC for authentication. It is intended for systems administrators who need to integrate enterprise applications with Entra ID to centralise identity management, enforce MFA, and control user access. The guide covers App Registration in Entra ID, redirect URI configuration, required API permissions, and the standard OIDC configuration values expected by most OIDC-compliant applications.

 

Root Cause

OIDC SSO works by delegating authentication to Entra ID as the Identity Provider (IdP). The application (Service Provider) redirects the user to Microsoft's authorisation endpoint, which authenticates the user and returns an ID token containing identity claims. The application then validates the token using signing keys retrieved from Microsoft's OIDC discovery document.

Common Failure Points

Check

Where

You have Global Administrator or Application Administrator rights in Entra ID

Entra ID → Roles and Administrators

The target application supports OIDC (not only SAML)

Application vendor documentation

You know the exact Redirect URI format expected by the application

Application vendor documentation

Outbound HTTPS (port 443) from the application server to login.microsoftonline.com is permitted

Firewall / network policy

You have admin access to the application's configuration settings

Application admin console or hosting environment

A client secret can be created and stored securely

Azure Key Vault or organisation secrets manager

Step 1: Create an App Registration in Entra ID

Note the following values from the Overview page - you will need these later:

•    Application (client) ID - this is your OIDC Client ID
•    Directory (tenant) ID - this is used to construct your OIDC Issuer URL

Step 2: Create a Client Secret

Copy the secret Value immediately - it will not be displayed again after you navigate away. Store it securely in a secrets manager or vault.

Step 3: Configure the Redirect URI

Step 4: Grant API Permissions

Permission

Purpose

openid

Required - enables OIDC sign-in

profile

Provides basic profile claims (name, etc.)

email

Provides the user's email address claim

All three permissions should show a green tick with "Granted for <tenant>" status.

 

Step 5:  Configure the Application

Add the following configuration values to your application. The exact setting names vary per application — refer to your application's OIDC documentation. The values below represent the standard OIDC parameters used across most platforms:

Configuration Key

Value

Auth Method / SSO Protocol

oidc

Client ID

Application (client) ID from Entra App Registration

Client Secret

Secret value created in Step 2

Issuer URL

https://login.microsoftonline.com/<Directory (tenant) ID>/v2.0

Auto-Discovery

true (recommended — eliminates need to manually specify endpoints)

Redirect / Callback URI

Must match exactly what was registered in Step 3

Scopes

openid profile email

Critical: Issuer URL format: The Issuer URL must contain only the tenant GUID in the path and must end with /v2.0. A common misconfiguration is storing a full URL in a variable and substituting it into the Issuer field, producing a doubled path such as https://login.microsoftonline.com/https://login.../v2.0/v2.0. This will cause discovery to fail. Correct format: https://login.microsoftonline.com/e21b46c3-367f-4ced-b138-2c57e76746f6/v2.0

Step 6:  Restrict Access via Enterprise Application (Recommended)

By default, any user in your Entra tenant can attempt SSO into the application. To restrict access to specific users or groups:

Only assigned users will be permitted to authenticate. All others will receive an Entra-side access denied message before reaching the application.

 

Step 7: Optional: Group-to-Role Synchronisation

If the application supports mapping identity provider groups to application roles, you can automate role assignment via Entra group membership:

Entra sends group Object IDs, not display names, in the token. Always use the group's Object ID when mapping groups to application roles - not the group's display name.

Troubleshooting

OIDC Discovery Error / Discovery endpoint unreachable

Cause: The application cannot fetch the OIDC discovery document from Microsoft, or the Issuer URL is malformed.

Resolution:

bash

curl -s "https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration" | head -c 200

Missing required configuration "keys" value or similar

Cause: Auto-discovery is disabled or not correctly configured. The application is expecting manually specified JWKS signing keys.

Resolution:

redirect_uri_mismatch

Cause: The Redirect URI registered in Entra does not exactly match the callback URL the application is generating or sending.

Resolution:

 invalid_client

Cause: The Client ID or Client Secret is incorrect, or the client secret has expired.

Resolution:

User authenticates successfully in Entra but receives an error or no access in the application

Cause: The user account was provisioned in the application with no role or permissions assigned.

Resolution:

invalid_grant or token validation failure

Cause: Clock skew between the application server and Microsoft's servers, or the authorisation code was already consumed.

Resolution:

Expected Outcome

Factor

Detail

Resolution Time

30–60 minutes for initial configuration; 15 minutes for troubleshooting known issues

User Impact

Zero - SSO login is additive; existing local accounts remain functional during migration

Recurrence Risk

Low - primary recurring issue is client secret expiry; set a calendar reminder before the secret's expiry date

Ongoing Maintenance

Rotate client secrets before expiry; manage user access via Enterprise Application user/group assignments

User Mapping & Role Assignment (Entra ID OIDC)

This section explains how to configure user authorization and role mapping in Microsoft Entra ID for third-party applications using OIDC SSO.

While authentication allows users to sign in, role mapping determines what permissions users receive inside the application after login.

Overview

Microsoft Entra ID supports two common authorization approaches for OIDC applications:

Method Description Recommended
Group Claims Maps Entra groups to application roles Legacy / Limited
App Roles Assigns application-specific roles directly from Entra ID ✅ Recommended

For modern OIDC integrations, App Roles are the preferred enterprise-grade approach because they are:

Step 1: Create App Roles

Navigate to:

Microsoft Entra ID
>  App registrations
>  <Your Application>
>  App roles

Create roles required by the application.

Example:

Administrator Role
Field Value
Display name Application Admin
Allowed member types Users/Groups
Value AppAdmin
Description Full administrative access
Viewer Role
Field Value
Display name Application Viewer
Allowed member types Users/Groups
Value Viewer
Description Read-only access

Step 2: Assign Users or Groups

Navigate to:

Enterprise Applications
→ <Your Application>
→ Users and groups

Assign:

to the appropriate application role.

Example:

Group Assigned Role
IT Administrators AppAdmin
Monitoring Users Viewer

Step 3: Configure Token Claims

Once App Roles are assigned, Entra ID automatically includes the role assignment inside the OIDC token.

Example token payload:

"roles": [
  "AppAdmin"
]

This role claim can then be consumed by the third-party application for authorization and RBAC mapping.

Group Claims (Alternative Method)

Some applications use Entra security groups instead of App Roles.

To enable group claims:

App registrations
→ <Your Application>
→ Token configuration
→ Add groups claim

However, this method has limitations:

Because of these limitations, App Roles are generally preferred.

Common Permissions Required

Depending on the application, the following delegated Microsoft Graph permissions may be required:

Permission Purpose
openid OIDC authentication
profile Basic user profile
email User email address
GroupMember.Read.All Read user group memberships

After adding permissions:

API permissions
→ Grant admin consent
Redirect URI Configuration

The OIDC redirect URI configured in the third-party application must exactly match the Redirect URI configured in Entra ID.

Navigate to:

App registrations
→ <Your Application>
→ Authentication

Example:

https://app.example.com/login/oauth

Common errors:

Token Validation & Troubleshooting

Microsoft provides a JWT inspection utility for validating OIDC tokens:

jwt.ms

This tool can be used to verify:

Best Practices

 


Revision #7
Created 2026-03-05 16:44:18 UTC by AK. Udofeh
Updated 2026-06-16 13:48:24 UTC by AK. Udofeh