Skip to content

Commit 9519d5e

Browse files
Merge pull request mendix#9075 from mendix/kv-byoidp
Update BYOIDP
2 parents abce60f + cdc28cd commit 9519d5e

1 file changed

Lines changed: 23 additions & 23 deletions

File tree

content/en/docs/control-center/security/set-up-sso-byoidp.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ This document describes the steps to set up a single sign-on configuration in Me
2222

2323
### Benefits
2424

25-
Benefits of using BYOIDP SSO are:
25+
The benefits of using BYOIDP SSO are:
2626

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.
2828
* **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.
2929
* **Convenience** – Platform users have the convenience of SSO and don't have to manage credentials for the Mendix Platform.
3030

@@ -43,7 +43,7 @@ BYOIDP SSO has the following features:
4343
* 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.
4444
* When you add a domain to your company account, it is automatically added to the active IdP configuration.
4545
* 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.
4747
* 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.
4848

4949
#### Technical Integration
@@ -54,7 +54,7 @@ BYOIDP SSO integrates with the Mendix Platform using the following techniques:
5454
* 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.
5555
* 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.
5656
* 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.
5858
* 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.
5959
* 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.
6060

@@ -65,7 +65,7 @@ BYOIDP SSO has the following limitations.
6565
* 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.
6666
* `login_hint` is not optional and is always sent as part of authentication requests to the IdP.
6767
* 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).
6969
* 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:
7070
* Use a personal account as if it were a service account
7171
* Create a service account in the company IdP
@@ -78,12 +78,12 @@ BYOIDP SSO has the following limitations.
7878

7979
To set up an IdP configuration for the Mendix Platform and your Mendix app, you will need the following:
8080

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.
8787

8888
## Configuring Your BYOIDP Setup
8989

@@ -121,7 +121,7 @@ Use the **Copy** button to copy **the redirect URL used by the Mendix Platform C
121121

122122
{{< figure src="/attachments/control-center/security/set-up-sso-byoidp/customer-idp-wizard-page-2.png" class="no-border" >}}
123123

124-
Click **Next** to test your configuration
124+
Click **Next** to test your configuration.
125125

126126
### Testing Your Configuration
127127

@@ -137,7 +137,7 @@ Click **Previous** if the test indicates that you have not entered the correct c
137137

138138
The data from your IdP may have different attribute names from the Mendix identity.
139139

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**.
141141

142142
{{% alert color="info" %}}
143143
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
154154
You can test in one of two ways:
155155

156156
* 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.
158158

159159
For advice on where to look for issues if your test fails, see the [Troubleshooting](#troubleshooting) section.
160160

@@ -166,7 +166,7 @@ When you are ready, you can activate the IdP configuration from the overview pag
166166

167167
## Deactivating
168168

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 sign in since it was scrambled upon activation.
170170

171171
## Entra ID
172172

@@ -182,7 +182,7 @@ Entra ID (formerly Microsoft Azure AD) is one of the most used IdPs, and it supp
182182

183183
{{< figure src="/attachments/control-center/security/set-up-sso-byoidp/azure-app-registration-step-1.png" class="no-border" >}}
184184

185-
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.
186186

187187
{{< figure src="/attachments/control-center/security/set-up-sso-byoidp/azure-app-registration-step-2.png" class="no-border" >}}
188188

@@ -195,23 +195,23 @@ Entra ID (formerly Microsoft Azure AD) is one of the most used IdPs, and it supp
195195

196196
8. Close the sidebar with the ({{% icon name="remove" %}}) in the top-right corner. This returns you to the app registration details page.
197197
9. Click **Certificates & secrets** in the left-hand menu bar.
198-
10. Click **New client secret** in the page that opens.
198+
10. Click **New client secret** on the page that opens.
199199

200200
{{< figure src="/attachments/control-center/security/set-up-sso-byoidp/azure-app-registration-step-4.png" class="no-border" >}}
201201

202202
11. In the dialog box that opens, enter a name for your certificate, select an expiration type, and click **Add**.
203203

204204
{{< figure src="/attachments/control-center/security/set-up-sso-byoidp/azure-app-registration-step-5.png" class="no-border" >}}
205205

206-
If you wish to let the certificate to expire, write down the date the certificate will expire.
206+
If you wish to let the certificate expire, write down the date the certificate will expire.
207207

208208
12. Copy the client secret. You need this to set up your IdP in the Mendix Portal.
209209

210210
{{< figure src="/attachments/control-center/security/set-up-sso-byoidp/azure-app-registration-step-6.png" class="no-border" >}}
211211

212212
That's it! You are now ready to resume your IdP setup in the Mendix Portal.
213213

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.
215215

216216
### Recommended Attribute Mapping for Entra ID
217217

@@ -234,7 +234,7 @@ Existing users of the Mendix Portal can continue to use their accounts, but they
234234

235235
### BYOIDP and Team Server {#team-server}
236236

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).
238238

239239
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.
240240

@@ -250,7 +250,7 @@ Once you have set up BYOIDP SSO, you may want to change the client secret that i
250250

251251
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:
252252

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.
254254
* Disable the IdP configuration, update the secret, and then enable it again.
255255

256256
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
263263

264264
### Multiple Email Domains for a Company
265265

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.
267267

268268
## Troubleshooting {#troubleshooting}
269269

@@ -277,7 +277,7 @@ Without proper exchange of `client_id` and `client_secret` between the IdP and M
277277

278278
If the wrong authentication method is configured for the Mendix Platform as a client to your IdP, login fails.
279279

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.
281281

282282
### Incorrect Conditional Access Policies
283283

0 commit comments

Comments
 (0)