You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/control-center/security/set-up-sso-byoidp.md
+23-23Lines changed: 23 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,9 +22,9 @@ This document describes the steps to set up a single sign-on configuration in Me
22
22
23
23
### Benefits
24
24
25
-
Benefits of using BYOIDP SSO are:
25
+
The benefits of using BYOIDP SSO are:
26
26
27
-
***Security** – You are in control of the credentials and authentication of your platform users. You can, for example, apply password complexity rules and two-factor authentication (2FA). Users don't need to have separate credentials in the Mendix Platform to access the Mendix Portal.
27
+
***Security** – You are in control of the credentials and authentication of your platform users. You can, for example, apply password complexity rules and two-factor authentication (2FA). Users do not need to have separate credentials in the Mendix Platform to access the Mendix Portal.
28
28
***Access governance** – You are in control of denying access to the platform via SSO, for example when an employee has left the company or your corporate policy does not allow an employee to develop Mendix applications.
29
29
***Convenience** – Platform users have the convenience of SSO and don't have to manage credentials for the Mendix Platform.
30
30
@@ -43,7 +43,7 @@ BYOIDP SSO has the following features:
43
43
* Authentication is delegated for any user that has an email address where the email domain is associated with your company. This includes service accounts (for example non-personal accounts used for consuming APIs) that may have been created on the Mendix Platform.
44
44
* When you add a domain to your company account, it is automatically added to the active IdP configuration.
45
45
* External users (with domains that are not part of your company) are unaffected. They still have access based on the way they normally sign in to Mendix.
46
-
* When BYOIDP is used, a session at Mendix is valid for one hour. After the session is expired, Mendix will request a new `ID_token` from your IdP. If the user still has a session at your IdP, the token will be issued without any user input and the platform user continues to have access to the Mendix Platform. The effect of this mechanism is that users have access to the Mendix Platform as long as the session at your IdP is valid.
46
+
* When BYOIDP is used, a session at Mendix is valid for one hour. After the session has expired, Mendix will request a new `ID_token` from your IdP. If the user still has a session at your IdP, the token will be issued without any user input and the platform user continues to have access to the Mendix Platform. The effect of this mechanism is that users have access to the Mendix Platform as long as the session at your IdP is valid.
47
47
* You can also use the [Mendix SSO](/appstore/modules/mendix-sso/) module in your non-production apps to provide an SSO experience. With BYOIDP, authentication of end-users of these apps will also be delegated by BYOIDP SSO. The end-users of these apps need to [sign up for a Mendix account](https://signup.mendix.com/) before they can sign in to your app.
48
48
49
49
#### Technical Integration
@@ -54,7 +54,7 @@ BYOIDP SSO integrates with the Mendix Platform using the following techniques:
54
54
* The user's email address is used to associate a user's existing account within Mendix with the user's account at your IdP. This means that any existing Mendix account is linked to their IdP account for authentication, rather than a new Mendix account being created for them.
55
55
* This assumes that the IdP returns an email address to Mendix during SSO which the user previously used to sign up and log in to Mendix. If the email address that is returned to Mendix is not recognized, then the user will be offered the sign-up option to enable them to create a new account.
56
56
* BYOIDP SSO makes an authentication request to your IdP which means that only the 'openid' and 'profile' scope values are requested, as defined by OIDC. The request does not explicitly ask for authorization for specific platform roles such as developer, Mendix Admin, or Technical Contact. You can set up your IdP, however, to apply coarse-grained access rules based on the `client_id` for the Mendix Platform to deny access to the Mendix Platform for certain groups of employees.
57
-
* Mendix provides support for two client authentication methods: `client_secret_post` (client credentials in the payload) or `client_secret_basic` (basic authentication credentials in the HTTP header). If the IdP supports both methods, `client_secret_post`is used.
57
+
* Mendix provides support for three client authentication methods: `client_secret_post` (client credentials in the payload), `client_secret_basic` (basic authentication credentials in the HTTP header), and `private_key_jwt` (using a client key-pair/certificate instead of a client secret). The Mendix platform will select `client_secret_post` if supported; otherwise, it will use `client_secret_basic`. The `private_key_jwt` method is available only to customers with a Premium platform license and requires onboarding by Mendix. For further assistance, contact your CSM.
58
58
* Mendix includes the `login_hint` parameter in requests to your IdP This allows the IdP to pre-populate the login screen with the user's email address, which gives a better user experience. Your IdP may choose to ignore the hint. After receiving a positive response, Mendix does not do any validation if the logged-in user matches the login_hint.
59
59
* Whether or not users signing in to the Mendix Platform have to use 2FA does not change the [Two-Factor Authentication](/developerportal/deploy/two-factor-authentication/) which protects sensitive activities on Mendix Cloud nodes. This remains in place and works independently of BYOIDP SSO.
60
60
@@ -65,7 +65,7 @@ BYOIDP SSO has the following limitations.
65
65
* If the user's email address is changed in your IdP, Mendix may not recognize it as the same account and will ask the user to set up a new Mendix account.
66
66
*`login_hint` is not optional and is always sent as part of authentication requests to the IdP.
67
67
* BYOIDP SSO only supports OIDC and does not support other protocols such as SAML.
68
-
* Once BYOIDP is activated, direct access to [Team Server](/developerportal/general/team-server/) is no longer possible using a username and password. To access code repositories from a pipeline, you need to use a personal access token (PAT).
68
+
* Once BYOIDP is activated, direct access to the [Team Server](/developerportal/general/team-server/) is no longer possible using a username and password. To access code repositories from a pipeline, you need to use a personal access token (PAT).
69
69
* Mendix Platform APIs which require a PAT can use one which is created by a platform user. You cannot directly set up service accounts within Mendix once BYOIDP SSO is activated. You can set up a service-like account to consume Mendix Platform APIs in one of the following ways:
70
70
* Use a personal account as if it were a service account
71
71
* Create a service account in the company IdP
@@ -78,12 +78,12 @@ BYOIDP SSO has the following limitations.
78
78
79
79
To set up an IdP configuration for the Mendix Platform and your Mendix app, you will need the following:
80
80
81
-
*A subscription to an OIDC compliant IdP; you need to validate that your IdP supports OIDC
82
-
* If you are using Entra ID, Okta, Auth0, [Ping Identity](https://www.pingidentity.com), or ADFS you will be OK
83
-
*a full list of compliant providers can be found in the [OpenID Certified OpenID Providers](https://openid.net/certification/)
84
-
* The URL for the so-called "well-known endpoint" of your IdP, where configuration details can be retrieved
85
-
* The IdP's well-known endpoint must have a URL for the JWKS endpoint
86
-
* The Mendix Portal needs to be registered as a client in your IdP, and you need to know the corresponding client ID and secret
81
+
*For a subscription to an OIDC compliant IdP; you need to validate that your IdP supports OIDC:
82
+
* If you are using Entra ID, Okta, Auth0, [Ping Identity](https://www.pingidentity.com), or ADFS you will be OK.
83
+
*A full list of compliant providers can be found in the [OpenID Certified OpenID Providers](https://openid.net/certification/).
84
+
* The URL for the so-called "well-known endpoint" of your IdP, where configuration details can be retrieved.
85
+
* The IdP's well-known endpoint must have a URL for the JWKS endpoint.
86
+
* The Mendix Portal needs to be registered as a client in your IdP, and you need to know the corresponding client ID and secret.
87
87
88
88
## Configuring Your BYOIDP Setup
89
89
@@ -121,7 +121,7 @@ Use the **Copy** button to copy **the redirect URL used by the Mendix Platform C
@@ -137,7 +137,7 @@ Click **Previous** if the test indicates that you have not entered the correct c
137
137
138
138
The data from your IdP may have different attribute names from the Mendix identity.
139
139
140
-
Configure which data from your IdP is mapped to the attributes of the Mendix identity. Configure at least **Foreign ID**, **Username**, and a**First Name** or **Last Name**.
140
+
Configure which data from your IdP is mapped to the attributes of the Mendix identity. Configure at least a **Foreign ID**, **Username**, and **First Name** or **Last Name**.
141
141
142
142
{{% alert color="info" %}}
143
143
The **Username** must be in the correct form for an email address.
@@ -154,7 +154,7 @@ When you have completed your IdP setup, you can perform a test sign-in before ac
154
154
You can test in one of two ways:
155
155
156
156
* Use the **Test Link** for your configuration. It will redirect you to the login page of your IdP. Enter the credentials of a user known to your IdP. If the test succeeds, the Mendix Portal landing page opens.
157
-
* Copy the ***Test Email Domain** of your configuration from the overview page. Go to https://login.mendix.com/ and, in the **Username** field, paste the test email domain. The password field disappears. Click **Sign in with SSO**. This will redirect you to a login page of your IdP. Enter credentials known to your IdP. If the test succeeds, the Mendix Platform home page opens.
157
+
* Copy the ***Test Email Domain** of your configuration from the overview page. Go to https://login.mendix.com/ and, in the **Username** field, paste the test email domain. The password field disappears. Click **Sign in with SSO**. This will redirect you to the login page of your IdP. Enter credentials known to your IdP. If the test succeeds, the Mendix Platform home page opens.
158
158
159
159
For advice on where to look for issues if your test fails, see the [Troubleshooting](#troubleshooting) section.
160
160
@@ -166,7 +166,7 @@ When you are ready, you can activate the IdP configuration from the overview pag
166
166
167
167
## Deactivating
168
168
169
-
You can deactivate the IdP configuration at any time. Although the changes start to come into effect immediately, updating your users will take some time depending on the number of users in your company. Users will have to reset their Mendix password to be able to sign-in since it was scrambled upon activation.
169
+
You can deactivate the IdP configuration at any time. Although the changes start to come into effect immediately, updating your users will take some time depending on the number of users in your company. Users will have to reset their Mendix password to be able to signin since it was scrambled upon activation.
170
170
171
171
## Entra ID
172
172
@@ -182,7 +182,7 @@ Entra ID (formerly Microsoft Azure AD) is one of the most used IdPs, and it supp
5. In the app registration details that open after you save your registration, hover over **Application (client) ID** and copy the ID to the clipboard with the button that appears.
185
+
5. In the app registration details that open after you save your registration, hover over the **Application (client) ID** and copy the ID to the clipboard with the button that appears.
That's it! You are now ready to resume your IdP setup in the Mendix Portal.
213
213
214
-
For more information on setting up federation with a Microsoft Entra ID IdP, see [Quickstart: Register an application with the Microsoft identity platform](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app) in the Microsoft documentation.
214
+
For more information on setting up a federation with a Microsoft Entra ID IdP, see [Quickstart: Register an application with the Microsoft identity platform](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app) in the Microsoft documentation.
215
215
216
216
### Recommended Attribute Mapping for Entra ID
217
217
@@ -234,7 +234,7 @@ Existing users of the Mendix Portal can continue to use their accounts, but they
234
234
235
235
### BYOIDP and Team Server {#team-server}
236
236
237
-
Once BYOIDP is activated, direct access to Team Server is no longer possible. To access code repositories from a pipeline, you need to use a [PAT](/community-tools/mendix-profile/user-settings/#pat).
237
+
Once BYOIDP is activated, direct access to the Team Server is no longer possible. To access code repositories from a pipeline, you need to use a [PAT](/community-tools/mendix-profile/user-settings/#pat).
238
238
239
239
Before activating BYOIDP, your developers should set up PATs for direct access to repos (for example, from CI/CD pipelines and/or Tortoise SVN) instead of using usernames and passwords.
240
240
@@ -250,7 +250,7 @@ Once you have set up BYOIDP SSO, you may want to change the client secret that i
250
250
251
251
If the client secret is still active or you (as an administrator) still have an active session on the Mendix Platform, you can do one of the following:
252
252
253
-
* Clone the existing active IdP configuration, update the secret there and then activate the clone. This avoids updating all the users. This is the preferred option.
253
+
* Clone the existing active IdP configuration, update the secret there, and then activate the clone. This avoids updating all the users. This is the preferred option.
254
254
* Disable the IdP configuration, update the secret, and then enable it again.
255
255
256
256
If the client secret has expired, ask [Mendix Support](https://support.mendix.com/hc/en-us) to update the client secret of your active IdP configuration.
@@ -263,7 +263,7 @@ Single sign-on was introduced in Studio Pro 7.18. Your app will need to be this
263
263
264
264
### Multiple Email Domains for a Company
265
265
266
-
When you activate BYOIDP SSO, it will apply to all email domains which are registered to your company. If you add another email domain to your company, BYOIDP will automatically adopt it, without further actions from the Mendix administrator.
266
+
When you activate BYOIDP SSO, it will apply to all email domains that are registered to your company. If you add another email domain to your company, BYOIDP will automatically adopt it, without further actions from the Mendix administrator.
267
267
268
268
## Troubleshooting {#troubleshooting}
269
269
@@ -277,7 +277,7 @@ Without proper exchange of `client_id` and `client_secret` between the IdP and M
277
277
278
278
If the wrong authentication method is configured for the Mendix Platform as a client to your IdP, login fails.
279
279
280
-
Mendix supports two client authentication methods: `client_secret_post` (client credentials in the payload) or `client_secret_basic` (basic authentication; credentials in the HTTP authorization header). If the IdP indicates support for both methods at the well-known endpoint, Mendix uses `client_secret_post`. If the client configuration at your IdP for the Mendix Platform sets a different client authentication method, the IdP may reject Mendix to authenticate itself as a client to the `/token` endpoint, and the delegated login fails.
280
+
Mendix supports three client authentication methods: `client_secret_post`, `client_secret_basic`, and `private_key_jwt`. If the IdP indicates support for both`client_secret_post` and `client_secret_basic` methods at the well-known endpoint, Mendix uses `client_secret_post`. If the client configuration at your IdP for the Mendix Platform sets a different client authentication method, the IdP may reject Mendix to authenticate itself as a client to the `/token` endpoint, and the delegated login fails.
0 commit comments