Entra ID EAM Integration

Entra ID EAM Integration

Introduction

This guide provides step-by-step instructions for integrating IBM Verify with Microsoft Entra ID's External Authentication Method (EAM) feature. This integration enables organizations to leverage IBM Verify as an external multi-factor authentication (MFA) provider within their Microsoft Entra ID environment.

You can configure the following by using this guide:

  • Custom Token Types in IBM Verify to validate Entra ID tokens
  • IBM Verify EAM Application to handle authentication requests from Entra ID
  • Application Registration in Microsoft Entra ID to establish the connection
  • External Authentication Method in Entra ID to enable IBM Verify as an MFA option

This integration allows users to authenticate to Microsoft services using IBM Verify's authentication methods (such as FIDO2, biometrics, OTP, and more) while maintaining centralized identity management in Microsoft Entra ID.

Prerequisites:

  • Administrative access to IBM Verify tenant
  • Administrative access to Microsoft Entra ID tenant

Custom Token Type

In the IBM Verify tenant admin portal, create a new custom token type for Entra ID EAM id_token_hint through Applications -> Custom token types.

/images/6a1e0c658f27695ed3814527

1. Complete the General settings

Use these values for the following fields:

FieldValue
Issuerhttps://login.microsoftonline.com/<Entra ID Tenant ID>/v2.0
JWKS URIhttps://login.microsoftonline.com/common/discovery/v2.0/keys
/images/6a1e0c85e5436735188a49f0

2. Complete the Validation settings

Use these values for the following fields:

FieldValue
Allowed signing algorithmsRS256
Validate JTIUnselect the checkbox (Entra ID does not support JTI)
/images/6a1e0ca5512242ba01e13eab

3. Complete the Identity linking

Map the appropriate identity attributes based on requirements. Verify uses the attribute from id_token_hint to search for the corresponding user in the identity source.

/images/6a1e0cc5d4319ca70f307288

Example mapping:

FieldValue
Incoming token claimupn
Identity sourceCloud Directory
Search byUsername

Note: The above example uses the upn (User Principal Name) from Microsoft Entra ID to map to the username of the user in Cloud Directory.

If a user does not exist in the Cloud Directory, Just-in-Time provisioning can be used to automatically create the user account. To enable the use of multi-factor authentication (MFA) in Verify, it is essential to include either a phone number or an email address in the Attribute mappings. These attributes are incorporated into the newly provisioned user record to ensure MFA functionality.

/images/6a1e0ce4b41ceb821a247d38

For more information, see Managing custom token types.


IBM Verify EAM Application

In the IBM Verify tenant admin portal, create a new Microsoft Entra ID EAM application from Applications -> Applications->Add application.

1. Provide required information in General tab

2. Enter details in the Sign-on tab

Use these values for the following fields under EAM Provider Settings:

FieldValue
Redirect URIshttps://login.microsoftonline.com/common/federation/externalauthprovider
ID token hint custom token typeThe name of the Custom Token Type created in the previous section.
Use default session lifetimeSet as needed. (When generating a session when Verify is not the IdP, apply either the default session lifetime or the defined session lifetime).
Perform first-factor authentication when no valid session is presentChecked – When Verify is configured as the Identity Provider (IdP) for Entra ID, single-factor authentication (1FA) login is required if no active login session is detected during two-factor authentication (2FA).
Unchecked – An error is returned if no login session is found, or the user is provisioned through Just-In-Time Provisioning (JITP) when not available in Cloud Directory.
/images/6a1e0d04ff96687385686e9e

3. Use these values for the following attributes under Endpoint Configuration:

Edit the ID token and add the following custom mapping rules:

Target AttributeValue
amr[idsuser.factors_completed
.map(item, item.split(","))
.flatten()
.map(f,
f == "smsotp" ? "sms" :
f == "emailotp" ? "otp" :
f == "totp" ? "otp" :
f == "voiceotp" ? "tel" :
f == "fido2" ? "fido" :
f == "signatures_face" ? "face" :
f == "signatures_fingerprint" ? "fpt" :
f == "signatures" ? "pop" :
f == "signatures_userPresence" ? "pop" :
f == "behavioral_biometrics" ? "vbm" :
f == "password" ? "pwd" :
f
)
.filter(mapped, mapped in requestContext.claims_idtoken_amr)[0]]
acrrequestContext.claims_idtoken_acr
subrequestContext["id_token_hint_claims"]["sub"]
/images/6a1e0d24c4ef08b6b4eb48b8 /images/6a1e0d44a00bffada04eccdd /images/6a1e0d64624bb8b2b5671788

4. Select the following value for the following field under Access policies:

FieldValue
Access policiesSelect Always require 2FA on all devices or configure any other policy that enforces two-factor authentication.

Application in Microsoft Entra ID

1. Create New Application

Navigate to the Microsoft Entra admin center and add a new application from Entra ID -> App registrations.

/images/6a1e0d85f4560bb6b7d86895

2. Application Configuration

Use these values for the following fields

FieldValue
NameThe app name
Supported account typesSelect Single tenant only - MSFT
Redirect URIVerify authorization endpoint
For example: https://<isv-tenant-hostname>/oauth2/authorize
Select a platformWeb
/images/6a1e0da6036f58085aa7f7c8

Note: The Application (client) ID of the application is used to create an external authentication method in later steps. The Directory (tenant) ID is used in the Custom Token Type section.

/images/6a1e0dc64043e7520ee7ac6b

3. Configure API Permissions

3.1 Add Permissions

Configure the permissions to the API in the created application from API permissions -> Add a permission -> APIs my organization uses.

/images/6a1e0de71330158204403b1b

3.2 Add OpenID Permissions

Then add the openid and profile permissions from the Microsoft Graph -> Delegated permissions -> OpenID permissions section.

3.3 Grant Admin Consent

Finally, Grant admin consent for .

/images/6a1e0e074847f986f8cc87a9

4. Token Configuration

Add optional claim - upn in the Token configuration section. This claim is included in tokens generated by Entra ID and used by IBM Verify to identify and locate the corresponding user in the identity source.

/images/6a1e0e28368dfd969a365997

Authentication Method in Microsoft Entra ID

1. Add Authentication Method

Navigate to the Microsoft Entra admin center and add a new authentication method from Entra ID -> Authentication methods -> Policies.

/images/6a1e0e48639f9a97c5f12390

2. Configuration

Use these values for the following fields:

FieldValue
NameName of the authentication method
Client IDThe Client ID of the Verify Microsoft Entra ID EAM application created in the IBM Verify EAM Application section
Discovery Endpointhttps://<isv-tenant-hostname>/oauth2/.well-known/openid-configuration
App IDThe Application (client) ID created in Entra ID in the Application in Microsoft Entra ID section
EnableEnable external authentication methods
/images/6a1e0e6914d69aec8ed54064

Reference

  1. Microsoft Entra External Authentication Method Management