Skip to content

Commit 9de6246

Browse files
committed
Additional changes
1 parent c8a69b5 commit 9de6246

2 files changed

Lines changed: 9 additions & 7 deletions

File tree

content/en/docs/marketplace/platform-supported-content/modules/scim/using-scim-with-sso-module.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,16 @@ The following decision flow diagram shows how to choose the correct identifier-m
1616

1717
## Scenarios
1818

19-
### Scenario 1: Aligning OIDC and SCIM Identifiers To Update Existing Users
19+
### Scenario 1: Mapping the Unique IdP Identifier for SSO and SCIM
2020

21-
This scenario applies when users have already authenticated to the Mendix application using OIDC and the customer subsequently enables SCIM for user provisioning. When a user first logs in via OIDC, the Identity Provider (IdP) provides a unique identifier, such as the `sub` claim (for example, `00u12abcD3XYZpqRs5d6`).
21+
This scenario applies when users have already authenticated to the Mendix application using SSO, for example, OIDC and the customer subsequently enables SCIM for user provisioning. When a user first logs in via OIDC, the Identity Provider (IdP) provides a unique identifier, such as the `sub` claim (for example, `00u12abcD3XYZpqRs5d6`).
2222

2323
The typical example of this scenario includes Okta as an IdP and using `sub` as a unique identifier. In the OIDC **Attribute Mapping** configuration, the unique IdP claim `sub` is stored in the `System.User.Name` attribute of the Mendix user entity, and the `Name` attribute is configured as the OIDC principal attribute. This establishes the `sub` value as the authoritative identifier for the user in Mendix.
2424

25+
{{% alert color="info" %}}
26+
This scenario also applies if you are using Entra ID as IdP. The unique IdP claim `oid` is stored in the `System.User.Name` attribute of the Mendix user entity, the `Name` attribute is configured as the OIDC principal attribute. By mapping the SCIM `externalId` to the `System.User.Name` attribute and configuring `Name` as the SCIM principal attribute enable Mendix to correctly correlate SCIM provisioning.
27+
{{% /alert %}}
28+
2529
To ensure that SCIM provisions and updates the same user rather than creating a duplicate record, the SCIM configuration must reference the same identifier. In IdPs such as Okta, the SCIM `externalId` attribute contains the same value as the OIDC `sub` claim.
2630

2731
In the **Attribute Mapping** of Entra Id portal, set the **Source attribute** of `externalID` to `objectId`. In the case of Okta, `sub` is the default for `externalID`.
@@ -35,11 +39,9 @@ By mapping the SCIM `externalId` to the `System.User.Name` attribute and configu
3539

3640
{{< figure src="/attachments/appstore/platform-supported-content/modules/scim/using-with-oidc/scim-principal-attribute.png" >}}
3741

38-
If you are using Entra ID as IdP, the unique IdP claim `oid` is stored in the `System.User.Name` attribute of the Mendix user entity, the `Name` attribute is configured as the OIDC principal attribute. By mapping the SCIM `externalId` to the `System.User.Name` attribute and configuring `Name` as the SCIM principal attribute enable Mendix to correctly correlate SCIM provisioning.
39-
40-
### Scenario 2: OIDC Unique Identifier Not Supported by the SCIM — Using an Alternative Stable Attribute {#alternative-stable-attribute}
42+
### Scenario 2: No Unique Identifier — Using an Alternative Stable Attribute {#alternative-stable-attribute}
4143

42-
This scenario applies when a Mendix application has already provisioned users through the OIDC SSO module, but the principal IdP attribute (for example, sub) in the OIDC used for authentication is not available in the SCIM provisioning payload.
44+
This scenario applies when a Mendix application has already provisioned users through the OIDC SSO module, but the principal IdP attribute (for example, `sub`) in the OIDC used for authentication is not available in the SCIM provisioning payload.
4345

4446
A typical example of this scenario is Entra ID as IdP, where the OIDC `sub` claim is used as the primary unique identifier, and a second, stable identifier is mapped as a secondary identifier through OIDC attribute mapping. If the stable secondary identifier is not already mapped, refer to the [Scenario 3: No Existing Shared Identifier — Introducing a New Stable Attribute](#new-stable-attribute) section below.
4547

@@ -102,7 +104,7 @@ Map a stable, unique claim from the IdP, for example, map `preferred_username`
102104
Require existing users to log in via OIDC after the mapping is applied, so the new attribute is stored in Mendix.
103105

104106
3. Align SCIM configuration:
105-
Configure SCIM to use the newly populated attribute for user matching and follow the same SCIM principal attribute and mapping approach described in the [Scenario 2: OIDC Unique Identifier Not Supported by the SCIM — Using an Alternative Stable Attribute](#alternative-stable-attribute) section above.
107+
Configure SCIM to use the newly populated attribute for user matching and follow the same SCIM principal attribute and mapping approach described in the [Scenario 2: No Unique Identifier — Using an Alternative Stable Attribute ](#alternative-stable-attribute) section above.
106108

107109
By introducing a shared, stable identifier and ensuring it is populated for all existing users, Mendix can reliably correlate SCIM provisioning requests with OIDC-authenticated users and update existing records instead of creating duplicates.
108110

-23.6 KB
Loading

0 commit comments

Comments
 (0)