Skip to content

Commit ea71af7

Browse files
Merge pull request #11755 from mendix/kv-oidc-claims
OIDC SSO: Add Entra configurations
2 parents 41fb8b6 + 448be91 commit ea71af7

1 file changed

Lines changed: 36 additions & 6 deletions

File tree

  • content/en/docs/marketplace/platform-supported-content/modules

content/en/docs/marketplace/platform-supported-content/modules/oidc.md

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,23 @@ For Entra ID access to APIs through an access token, in addition to the configur
423423

424424
Now, you can acquire tokens which can be validated using JWKS URI.
425425

426+
#### Configuring Optional Claims for User Attributes in Microsoft Entra ID{#entra-optional-claims}
427+
428+
By default, Microsoft Entra ID does not include user attribute claims such as `given_name` and `family_name` in the ID token, even when the `profile` scope is requested. To make these claims available, add them as optional claims in the Entra App Registration:
429+
430+
1. Sign in to the [Microsoft Entra admin center](https://entra.microsoft.com/).
431+
2. Go to **Entra ID** > **App registrations** and select your application.
432+
3. In the left menu, select **Token configuration** and click **Add optional claim**.
433+
4. Select **ID** as the **Token type**.
434+
5. Select the claims you need, for example, `given_name` and `family_name`.
435+
6. Click **Add**.
436+
437+
After completing these steps, the claims will be included in the ID token and will be available for attribute mapping in the Mendix OIDC SSO configuration.
438+
439+
{{% alert color="info" %}}
440+
If `given_name` or `family_name` are present in your ID token after adding them as optional claims but do not appear in the **Add Claim** dropdown in the Mendix OIDC configuration, see [Creating IdP Attribute Manually](/appstore/modules/oidc/#creating-idp-attribute-manually) for steps to add these claims manually.
441+
{{% /alert %}}
442+
426443
#### Amazon Cognito Client Configuration
427444

428445
For more information about configuring your app for OIDC with Amazon Cognito, see [Amazon Cognito: Configuring the Required Settings in Your Mendix App](/appstore/modules/aws/amazon-cognito/#cognito).
@@ -484,7 +501,7 @@ The following constants are optional:
484501
when you set **ClientAuthenticationMethod** as `private_key_jwt`, you do not need to set **ClientSecret** constant.
485502
{{% /alert %}}
486503

487-
* **JWT_ALG** (*default: RS256*) – JWT signing algorithm
504+
* **JWTSignAlgorithm** (*default: RS256*) – JWT signing algorithm
488505

489506
Example: `ES256`, `ES384`, `ES512`, `PS256`, `PS384`, `PS512`, `RS256`,`RS384`, and `RS512`
490507

@@ -690,10 +707,23 @@ IdP attributes will be automatically created from the list of `claims_supported`
690707
1. In the **Creating Users** tab, click **Add Claim** to add a new mapping.
691708
2. In the **Add Claim Map** dialog, click **Search**.
692709
3. Under the **Claims for claim entity attribute**, click **New** to create a new claim.
693-
4. In the **IdP Attribute**, select the newly created claim from the dropdown, and click **Save**.
710+
4. Provide **Claim Name** and **Friendly Name**, and click **Previous**.
711+
5. In the **IdP Attribute**, select the newly created claim from the dropdown, and click **Save**.
694712

695713
Select the required attribute to use it in your mapping.
696714

715+
{{% alert color="info" %}}
716+
If you are using Microsoft Entra ID and the expected claims (such as `given_name` or `family_name`) do not appear in the **Add Claim** dropdown, this is because Entra does not advertise these claims in its discovery endpoint. To make them available, add them as optional claims in the Entra App Registration's **Token configuration** tab. For more information, see the [Configuring Optional Claims for User Attributes](#entra-optional-claims) section.
717+
718+
After adding the optional claims to the Entra App Registration, use one of the following options to get the claims in the **Add Claim** dropdown:
719+
720+
* Search for the claims: Follow the steps above and provide **Claim Name** and **Friendly Name** (optional claims configured in the Entra App Registration). Click **Previous**, find the newly added, optional claims and add them.
721+
* Add claims to the default setup: Add the claims to the `SUB_DefaultUserProvisioning` microflow, then map them:
722+
1. In the `SUB_DefaultUserProvisioning` microflow, add a `CreateClaim` activity for `family_name`, `given_name`, or any custom attribute configured in the Entra App Registration to populate in the token. To reuse an existing activity, copy a `CreateClaim` activity from the same microflow and update the claim name value.
723+
2. Click **Add Claim** and select `family_name` or `given_name` from the **IdP Attribute** dropdown.
724+
3. Map to the **Custom Entity Attribute** and click **Save**.
725+
{{% /alert %}}
726+
697727
##### User Provisioning Using Your Custom User Entity{#custom_user_entity}
698728

699729
If you want to use your custom user entity, which is a specialization of the `System.User` entity to store user information, select it in the **Custom user Entity (extension of System.User)** field by replacing the `Administration.Account` entity.
@@ -727,10 +757,10 @@ The section below shows the methods to configure user provisioning when using OI
727757
By default, the `CUSTOM_UserProvisioning` microflow in the **USE_ME** > **1. Configuration** folder of the OIDC module uses the `OIDC_CustomUserParsing_Standard` microflow. This applies to the following mapping:
728758

729759
| ID-token Provided by your IdP | Attribute of `Administration.Account` Object |
730-
| ----------------------------- | ----------------------------- |
731-
| sub | Name |
732-
| name | Fullname |
733-
| email | Email |
760+
| ----------------------------- | ----------------------------- |
761+
| sub | Name |
762+
| name | Fullname |
763+
| email | Email |
734764

735765
{{% alert color="warning" %}}
736766
Do not change the `UserProvisioning_StandardOIDC` microflow. This may cause problems if you upgrade to a newer version of the OIDC SSO module. Apply customizations to the `CUSTOM_UserProvisioning` microflow only.

0 commit comments

Comments
 (0)