Microsoft Entra ID configuration
To use Microsoft Entra ID as your Fabricate single sign-on (SSO) provider, you first complete the following configuration in Microsoft Entra ID.
Create the app registration
In the Azure portal:
Go to Microsoft Entra ID.
Open App registrations.
Click New registration.
Configure the app registration as follows:
Name:
Fabricate SSOSupported account types:
Accounts in this organizational directory only (Single tenant)Redirect URI:
Platform: Web
Value:
https://fabricate.tonic.ai/sso/callback
Create a client secret
Open the app registration that you created.
Go to Certificates & secrets.
Click New client secret.
Provide a description for the secret.
Set the expiration period for the secret.
Click Add.
Copy the secret value. In the Fabricate SSO configuration, you use the secret value as the value of Client Secret.
Confirm the redirect URI
Go to Authentication.
Confirm that the app has a Web redirect URI for:
For Fabricate's server-side OIDC flow, you do not need to enable implicit grant settings.
Copying Microsoft Entra ID values to use in Fabricate
In Fabricate, when you configure Microsoft Entra ID as your SSO provider, you provide the following values that you copy from Microsoft Entra ID.
Issuer URL
In the Fabricate SSO configuration, the value of Issuer URL is the tenant-specific Microsoft Entra ID issuer URL.
The URL is in the following format:
For example, if the tenant ID is 11111111-2222-3333-4444-555555555555, then the issuer URL is:
To construct the URL:
In the app registration, open Overview.
Copy the value of Directory (tenant) ID.
Substitute the copied tenant ID into the URL.
Client ID
In the Fabricate SSO configuration, the value of Client ID is the value of Application (client) ID in Microsoft Entra ID.
To obtain the value:
In the app registration, open Overview.
Copy Application (client) ID.
Client secret
In the Fabricate SSO configuration, the value of Client Secret is the Value of the secret that you created in Certificates & secrets -> Client secrets.
Do not use the secret ID. Use the secret Value.
Adding the required token claims for fallback
The Microsoft Entra ID fallback for Fabricate requires that the following claims are available in the ID token:
emailxms_edov
email claim
To add the email cliam, in the app registration:
Go to Token configuration.
Click Add optional claim.
Choose ID as the token type.
Add the
emailclaim.
xms_edov claim
About the xms_edov claim
xms_edov is an Microsoft Entra ID-specific boolean claim that indicates whether the email domain owner is verified.
When the standard email_verified claim is absent, Fabricate uses this claim as the verification signal for Microsoft Entra ID issuers .
For standard OIDC providers,
email_verified == truestill works.For Microsoft Entra ID issuers,
xms_edov == trueis accepted as an equivalent fallback.
Adding the xms_edov claim
xms_edov is not always exposed in the standard token configuration UI. You can instead add it in the app manifest.
In the app registration:
Go to Manifest.
Find the
optionalClaimssection.Ensure
idTokenincludes bothemailandxms_edov.
The manifest section should look similar to the following:
If optionalClaims already exists, do not replace existing claims. Instead, merge the new entries into the existing structure.
Add group names to synchronize with Fabricate
About group name synchronization
Fabricate can optionally synchronize a user's Fabricate account group memberships with group names that Entra ID sends when the user signs in. The user is then automatically added to the matching Fabricate account group.
Fabricate only synchronizes groups that are assigned to the Fabricate application.
Fabricate matches the values in the groups claim to existing Fabricate group names. The group name match is case insensitive.
Fabricate does not create missing groups automatically.
Add the groups claim to the app registration
Tp add the groups claim in the app registration:
Go to Token configuration.
Click Add groups claim.
For group type, select Groups assigned to the application. This is required for cloud-only group display names. It is also recommended generally because it keeps tokens smaller and reduces group overage risk.
Expand the ID token customization section.
Choose the group value format:
If the Fabricate groups should match Active Directory -synced group names, choose sAMAccountName.
If the groups are cloud-only Entra groups, leave Group ID selected for now. The portal might not expose cloud-only display names here.
Click Add or Save.
Assign Entra ID groups to the Fabricate enterprise application
After you configure the claim, assign the relevant Entra groups to the Fabricate enterprise application.
Fabricate only synchronizes the assigned groups.
Locate the enterprise application
Entra ID normally creates the enterprise application automatically for the app registration. To find it:
In the app registration, open Overview.
Click Managed application in local directory. This opens the matching enterprise application.
If that link is not visible:
Go to Microsoft Entra ID -> Enterprise applications.
Clear the filters.
Search for the app registration name or Application (client) ID.
Assign the groups to the application
To assign the groups:
Go to Microsoft Entra ID.
Open Enterprise applications.
Open the Fabricate SSO application.
Go to Users and groups.
Click Add user/group.
Assign the Entra groups for which to send the group names to Fabricate.
When Groups assigned to the application is selected, Entra ID only emits groups that:
Are assigned to the application.
Are present in the signed-in user's memberships.
Microsoft documents this as direct membership behavior. Make sure to assign the group that directly contains the user that you expect to test with.
Add display names to the app manifest
For cloud-only Entra groups, update the app manifest so that Entra ID emits display names instead of group object identifiers.
Note that even though the manifest supports this option, the Token configuration configuration often does not expose it.
In the app registration:
Go to Manifest.
Find
groupMembershipClaims.Set it to
ApplicationGroup.Find
optionalClaims.idToken.Update the
groupsoptional claim so itsadditionalPropertiesincludescloud_displayname.
Manifest examples
Here is an example of the basic manifest structure:
if groupMembershipClaims is None, Entra does not emit the groups claim, even if optionalClaims.idToken includes a groups entry.
Configuration to match group names to SA
If:
The groups are synchronized from on-premises Active Directory (AD).
Fabricate groups must match
sAMAccountName,
then use:
Configuration for a mix of both AD-synchronized and cloud-only groups
For mixed environments, where the assigned application groups include both AD-synced groups and cloud-only groups, use:
Limitations and troubleshooting
Limitations
Note the following limitations:
When too many groups would be included in the token, Entra ID might emit group overage claims instead of
groups.Fabricate uses the group names that are present in the token. It does not call Microsoft Graph to resolve overage claims.
For the Fabricate synchronization to assign a user to a Fabricate account group:
The Fabricate group must already exist.
The Fabricate group name must match the emitted Entra group value.
If Entra ID emits group object identifiers, Fabricate treats those IDs as group names. The group identifiers will not match Fabricate group names.
To assign groups to an enterprise application, the tenant might need the appropriate Entra ID licensing.
Debugging
When the group synchronization is configured correctly, the expected response is:
If id_token_groups is missing, check that:
groupMembershipClaimsisApplicationGroupThe group is assigned to the enterprise application.
If id_token_groups contains GUIDs, check that the groups optional claim includes either:
For cloud-only groups,
cloud_displayname.For AD-synced groups, the correct AD-synchronized name property .
Last updated
Was this helpful?