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/appstore/use-content/platform-supported-content/modules/SAML/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -156,7 +156,7 @@ There are different versions of the SAML module, depending on which version of M
156
156
3. To download the required release, in the **Releases** tab, find the release that is compatible with your app per the guidelines in the **Documentation** tab, and then click the **Download** button by the number of the release.
157
157
4. Follow the instructions in [How to Use Marketplace Content](/appstore/use-content/) to import the SAML module into your app.
158
158
159
-
### Post-Installation Configuration Steps
159
+
### Post-installation Configuration Steps
160
160
161
161
By default, the SAML module will be installed as the **SAML20** module in your app’s Marketplace modules. You can find all microflows and other configuration elements in this module.
Copy file name to clipboardExpand all lines: content/en/docs/appstore/use-content/platform-supported-content/modules/SAML/advanced_configuration.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,31 +21,31 @@ If you are using a custom URL, see [How Do I Get my SAML Metadata or CommunityCo
21
21
22
22
### Use a Certificate Issued by a Certificate Authority {#use-ca}
23
23
24
-
By default the SAML SSO module will use self-signed certificates. It is, however, also possible to use certificates issued by a certificate authority (CA).
24
+
By default, the SAML SSO module will use self-signed certificates. It is, however, also possible to use certificates issued by a certificate authority (CA).
25
25
26
26
SAML SSO supports 2 file formats:
27
27
28
-
* a PKCS 12 file, which typically has extension .pfx or .p12.
28
+
* a PKCS 12 file, which typically has an extension .pfx or .p12.
29
29
* a jks file.
30
30
31
-
To use a CA-certificate, upload it as your key store file as described in [Managing the Keys and Key Store](/appstore/modules/saml/idp-attributes/#keystore).
31
+
To use a CAcertificate, upload it as your key store file as described in [Managing the Keys and Key Store](/appstore/modules/saml/idp-attributes/#keystore).
32
32
Remember to do the following:
33
33
34
-
*set the certificate password in the `KeystorePassword` constant of your app to be able to read the contents of the uploaded key store.
35
-
*use an alias for the certificate — this must be the name parameter that is provided when creating the certificate you are uploading. If the values do not match, the SAML module will fall back to using a self-signed certificate instead.
36
-
*the value of the configured SP EntityID must match the alias that is included in the uploaded key store.
34
+
*Set the certificate password in the `KeystorePassword` constant of your app to be able to read the contents of the uploaded key store.
35
+
*Use an alias for the certificate — this must be the name parameter that is provided when creating the certificate you are uploading. If the values do not match, the SAML module will fall back to using a self-signed certificate instead.
36
+
*The value of the configured SP EntityID must match the alias that is included in the uploaded key store.
37
37
38
38
### Customizing the Login Page
39
39
40
-
Mendix runtime/system module comes with a default login page. When using SAML with a single IdP, this page is not required.
40
+
The Mendix runtime/system module comes with a default login page. When using SAML with a single IdP, this page is not required.
41
41
You need to customize this login page when end-users have different ways of login:
42
42
43
43
1. If you want to use both Mendix (local) login and SSO login:
44
44
45
45
1. Go to the **App** > **Show App Directory in Explorer** > **theme/web** folder (for Mendix versions below 9.0.0, this is the **theme** folder).
46
46
2. Rename `login.html` to `login-without-sso.html`.
47
47
3. Rename `login-with-mendixsso-button.html` to `login.html`.
48
-
4. Open login.html, update the **href** to `/SSO`, and give a button name
48
+
4. Open login.html, update the **href** to `/SSO`, and give a button name.
49
49
50
50
Your app is now configured to use Mendix SSO login.
51
51
2. If you want to connect your app with multiple IdPs and the end-user of your app needs to select the IdP to use for login.
Copy file name to clipboardExpand all lines: content/en/docs/appstore/use-content/platform-supported-content/modules/SAML/idp_attributes.md
+25-25Lines changed: 25 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,19 +9,19 @@ description: "Describes the list of IdP Attributes for the SAML module"
9
9
10
10
## Introduction
11
11
12
-
This document provides you the detail description of each IdP attribute and their default value for deploy-time configuration. You need to use these attributes when configuring the SAML module to create the IdP configuration. For more details, see [Non-default Configuration](/appstore/modules/saml/#non-default).
12
+
This document provides you a detail description of each IdP attribute and its default value for deploy-time configuration. You need to use these attributes when configuring the SAML module to create the IdP configuration. For more details, see [Non-default Configuration](/appstore/modules/saml/#non-default).
13
13
14
14
## Identity Configuration
15
15
16
-
The **Identity Configuration** tab allows the seamless integration between your application and an Identity Provider (IdP) using SAML protocols. It provides details on key settings, including **Response Protocol Binding**, **AssertionConsumerService Concept**, and **Assertion consumer service index** enabling you to optimize SAML response handling and service provider metadata configurations.
16
+
The **Identity Configuration** tab allows seamless integration between your application and an Identity Provider (IdP) using SAML protocols. It provides details on key settings, including **Response Protocol Binding**, **AssertionConsumerService Concept**, and **Assertion consumer service index** enabling you to optimize SAML response handling and service provider metadata configurations.
17
17
18
18
### Response Protocol Binding{#saml-binding}
19
19
20
20
You may need to choose a different SAML binding to match your IdP. You can configure the SAML binding in the **Identity Configuration** tab of the `OpenConfiguration` microflow.
21
21
22
22
By default, the SAML SSO module uses `POST_BINDING` for the SAML response. In most cases (for example, when using AzureAD) you will want to stick to this default.
23
23
Some IdPs, however, require your app to use the more secure `ARTIFACT_BINDING`.
24
-
To use artifact binding, select ARTIFACT_BINDING option for **Response protocol binding**. This configuration helps enable the Post/Artifact binding, used as the following:
24
+
To use artifact binding, select the ARTIFACT_BINDING option for **Response protocol binding**. This configuration helps enable the Post/Artifact binding, used as the following:
25
25
26
26
*`ProtocolBinding` attribute in Auth-request.
27
27
*`AssertionConsumerService` binding in SP-MetaData.
@@ -31,14 +31,14 @@ Using artifact binding for SAML responses at the SAML IdP is only available in t
31
31
* v3.3.0/v3.3.1 and above for Mendix 9 and 10
32
32
* v2.3.0 and above for Mendix 8
33
33
34
-
`POST_BINDING` is the default value when using a[Easy Default Flow](/appstore/modules/saml/#easy-flow).
34
+
`POST_BINDING` is the default value when using an[Easy Default Flow](/appstore/modules/saml/#easy-flow).
35
35
36
36
### Use AssertionConsumerService Concept
37
37
38
-
In most cases (for example, with Entra ID), you don not want to use the AssertionConsumerService concept in requests. Some IdPs, however, require requests to include an AssertionConsumerServiceIndex. This refers to the definition of the Assertion Consumer Service in the SP-metadata.
38
+
In most cases (for example, with Entra ID), you do not want to use the AssertionConsumerService concept in requests. Some IdPs, however, require requests to include an AssertionConsumerServiceIndex. This refers to the definition of the Assertion Consumer Service in the SPmetadata.
39
39
40
-
* If **Use AssertionConsumerService Concept** is set to `No…` then Auth-Request contains the `AssertionConsumerServiceURL` and `ProtocolBinding` attributes.
41
-
* If **Use AssertionConsumerService Concept** is set to `Yes…` then Auth-Request contains only the ‘`AssertionConsumerServiceIndex`’ attribute.
40
+
* If the **Use AssertionConsumerService Concept** is set to `No…` then Auth-Request contains the `AssertionConsumerServiceURL` and `ProtocolBinding` attributes.
41
+
* If the **Use AssertionConsumerService Concept** is set to `Yes…` then Auth-Request contains only the ‘`AssertionConsumerServiceIndex`’ attribute.
42
42
By default, it is `No` when using a [Easy Default Flow](/appstore/modules/saml/#easy-flow).
43
43
44
44
### Assertion Consumer Service Index
@@ -48,12 +48,12 @@ Set **Assertion consumer service index** to the value you want to use for `Asser
48
48
49
49
## Attribute Consuming Service
50
50
51
-
In the **Attribute Consuming Service** tab, you can configure your app using the SAML protocol to request specific attributes, such as Date of Birth or Gender, from the SAML IdP. Your SAML IdP documentation will tell you what attributes can be requested. In the request you can also indicate whether you consider the attribute as mandatory or optional for your app’s logic.
51
+
In the **Attribute Consuming Service** tab, you can configure your app using the SAML protocol to request specific attributes, such as Date of Birth or Gender, from the SAML IdP. Your SAML IdP documentation will tell you what attributes can be requested. In the request, you can also indicate whether you consider the attribute as mandatory or optional for your app’s logic.
52
52
53
53
You can set up two sets of attributes, by adding new attributes, editing existing attributes, or removing selected attributes. These will be provided at different times. Those listed under **I want to request attribute(s) at my IDP during initial login** will be returned when the end-user initially signs in. Those listed under **I want to request attribute(s) at my IDP during in-session login** will be returned during [In-session Authentication](#in-session).
54
54
Although the typical use case for requesting attributes is to obtain information about the user, you can request an attribute with a specific value. In this case, you can configure the optional Attribute value that must be returned.
55
55
56
-
When using using a[Easy Default Flow](/appstore/modules/saml/#easy-flow), disable both initial and in-session login options.
56
+
When using an[Easy Default Flow](/appstore/modules/saml/#easy-flow), disable both initial and in-session login options.
57
57
58
58
Requesting user attributes at the SAML IdP is only available in the following versions of the module (depending on which Mendix version you are using)
59
59
@@ -69,21 +69,21 @@ Requesting user attributes at the SAML IdP is only available in the following ve
69
69
***What algorithm do you want to use to sign messages** (or *Encryption method*) – `SHA1 - RSA` or `SHA256 - RSA`
70
70
***Encryption key length** – 1024 or 2048 bits
71
71
72
-
When using using a[Easy Default Flow](/appstore/modules/saml/#easy-flow), default values are `SHA256 - RSA` and 2048 bits
72
+
When using an[Easy Default Flow](/appstore/modules/saml/#easy-flow), default values are `SHA256 - RSA` and 2048 bits
73
73
74
74
Enabling encryption has the following effects on messages being exchanged:
75
75
76
-
*all the messages between your app and the IdP will be encrypted, this requires the IdP’s metadata to contain a KeyDescriptor having ‘use’ value ‘encryption’ or empty.
77
-
*all the messages between your app and the IdP will be signed. The SP metadata exported from your app will have `AuthnRequestSigned` with value `true`. This corresponds to IdPs whose metadata have `WantAuthnRequestSigned` with value `true`
78
-
*in SAML SSO module versions 1.17.3 and above, 2.3.0 and above, and 3.3.0 and above, your IdP is expected to sign all SAML assertions sent to your app. The SP metadata will have `WantAssertionsSigned` with value `true`. Any assertions that are not properly signed will be rejected. SAML’s signature inheritance is supported as well; if the SAML response message is signed by the IdP, it is not necessary for the assertion to be signed as well
76
+
*All the messages between your app and the IdP will be encrypted, this requires the IdP’s metadata to contain a KeyDescriptor having ‘use’ value ‘encryption’ or empty.
77
+
*All the messages between your app and the IdP will be signed. The SP metadata exported from your app will have `AuthnRequestSigned` with value `true`. This corresponds to IdPs whose metadata have `WantAuthnRequestSigned` with value `true`
78
+
*In the SAML SSO module versions 1.17.3 and above, 2.3.0 and above, and 3.3.0 and above, your IdP is expected to sign all SAML assertions sent to your app. The SP metadata will have `WantAssertionsSigned` with the value `true`. Any assertions that are not properly signed will be rejected. SAML’s signature inheritance is supported as well; if the SAML response message is signed by the IdP, the assertion does not need to be signed as well.
79
79
80
80
See [Managing the Keys and Key Store](#keystore), below, for additional information and options related to encryption and signing keys.
81
81
82
82
### Managing the Keys and Key Store{#keystore}
83
83
84
84
SAML implements encryption and signing using asymmetric keys. If encryption is enabled, all the certificates required for encryption are stored in the key store. When you choose **Enable better security for app** (or **Use encryption**) a key store is automatically created using the URL of the application, or the custom EntityID. Below version 3.5.0 it is shown as the **Key store alias**.
85
85
86
-
The key-pair (or pairs) for your app (as an SP) can be self-generated by the SAML module or you can upload keypair certificate (or certificates) provided by your IdP.
86
+
The key-pair (or pairs) for your app (as an SP) can be self-generated by the SAML module or you can upload a keypair certificate (or certificates) provided by your IdP.
87
87
88
88
{{% alert color="warning" %}}
89
89
For version 3.5.0 and above, there are separate key pairs generated for each IdP, for versions below that, the self-generated key pairs are used for all IdPs, if your app is configured to use multiple IdPs.
@@ -101,7 +101,7 @@ However, there may be a requirement to use a specific key store. If you want to
101
101
For versions below 3.5.0 only:
102
102
103
103
* Resetting the key store or uploading another key store will require you to export the SP metadata and import it to all applicable IdPs.
104
-
* Click **Reset** to return the key store settings to their defaults
104
+
* Click **Reset** to return the key store settings to their defaults.
105
105
* Click **Download** to download the key store file and use it when configuring other SAML SPs.
106
106
{{% /alert %}}
107
107
@@ -111,7 +111,7 @@ Remember to set the new key store password in the `KeystorePassword` constant of
111
111
112
112
## Identity Provider Metadata
113
113
114
-
### Read IDP metadata from URL
114
+
### Read IDP Metadata from URL
115
115
116
116
You can set up the module to re-import all IdP metadata files on a daily basis. Alternatively, you can import the metadata from a file, manually.
117
117
@@ -120,7 +120,7 @@ If you want to manually import the IdP metadata files from a URL, do the followi
120
120
* Set **Read IDP metadata from URL** to *Yes.*
121
121
* Set the **URL:** to the location where the IdP metadata is available.
122
122
* Click **Refresh Metadata**
123
-
**The following metadata has been fetched** will show an overview of all the information that has been found in the IdP metadata information. It is usually not necessary to do anything here, but it can be useful in order to review the possible IdP and SP configuration options.
123
+
**The following metadata has been fetched**and will show an overview of all the information that has been found in the IdP metadata information. It is usually not necessary to do anything here, but it can be useful to review the possible IdP and SP configuration options.
124
124
125
125
If you want to automatically synchronize the IdP metadata, make sure the **SE_SynchronizeIdPMetadata**[scheduled event](/refguide/scheduled-events/) is enabled. This is in the **_USE ME** > **Scheduled Events** folder of the SAML module.
126
126
If you need to change your identity provider metadata you can find more information in the [Response Protocol Binding](#saml-binding) section.
@@ -149,18 +149,18 @@ This feature is deprecated.
149
149
150
150
When you use the SAML SSO module in your app, your app will typically be a front-end app that redirects the user to their IdP via the browser for login.
151
151
Using SAML protocols to secure the APIs of your back-end app is more challenging. We advise you to use OAuth access tokens by installing the [OIDC SSO](https://marketplace.mendix.com/link/component/120371) module instead of the SAML module. This is a common, and a best, practice.
152
-
The SAML module currently allows you to use multi-tier delegation (which makes use of the SAML ECP profile) if you need it. Your front-end app can request a token during login that has the right characteristics so it can be shared with a back-end app. This is an advanced scenario which requires in-depth knowledge of the SAML protocol and the configuration of all integrating systems to get it working.
153
-
In the SAML module, you can enable this by checking “Enable delegated authentication” on the provisioning tab. By checking this box you are able to access the authorized SAML token, the module will automatically keep the token alive. Only enable this functionality if you are actually using multi-tier delegated authentication.
152
+
The SAML module currently allows you to use multi-tier delegation (which makes use of the SAML ECP profile) if you need it. Your front-end app can request a token during login that has the right characteristics so it can be shared with a back-end app. This is an advanced scenario that requires in-depth knowledge of the SAML protocol and the configuration of all integrating systems to get it working.
153
+
In the SAML module, you can enable this by checking “Enable delegated authentication” on the provisioning tab. By checking this box you can access the authorized SAML token, the module will automatically keep the token alive. Only enable this functionality if you are using multi-tier delegated authentication.
154
154
155
155
If you enable this, you will need to enter the **Delegated Auth URL**.
156
156
157
157
### In-session Authentication {#in-session}
158
158
159
-
In-session authentication is a process that takes place within a session that was initiated by a (primary) end-user that signed in to your app or from within an anonymous session. This can be useful in the following situations:
159
+
In-session authentication is a process that takes place within a session that was initiated by a (primary) end-user who signed in to your app or from within an anonymous session. This can be useful in the following situations:
160
160
161
-
*to require the primary end-user to re-authenticate shortly before they are allowed to do a critical transaction in your app
162
-
*to have a second end-user add their authentication (for example, for electronic signing) but leave the primary end-user associated with the overall session
163
-
*to let the user interact anonymously with your app at first, but ask them to identify and authenticate themselves during that session
161
+
*To require the primary end-user to re-authenticate shortly before they are allowed to do a critical transaction in your app
162
+
*To have a second end-user add their authentication (for example, for electronic signing) but leave the primary end-user associated with the overall session
163
+
*To let the user interact anonymously with your app at first, but ask them to identify and authenticate themselves during that session
164
164
165
165
In-session authentication at the SAML IdP is only available in the following versions of the module (depending on which Mendix version you are using)
166
166
@@ -173,7 +173,7 @@ This flow can be initiated by using the URL `https://{app-url}/sso/login?action=
173
173
174
174
To enable in-session authentication, you need to use the `OpenConfiguration` microflow to configure two microflows in the SAML SSO module:
Set **Custom Prepare In-Session Authentication microflow** to `CustomPrepareInSessionAuthentication`.
179
179
@@ -189,7 +189,7 @@ The `CustomEvaluateInSessionAuthentication` microflow implements the logic that
189
189
190
190
**Disable Name ID Policy** – Check this box to disable the use of a name ID policy. This means you will use another attribute or claim to identify users.
191
191
192
-
If you check this box, you will not be able to set **Preferred name id**.
192
+
If you check this box, you will not be able to set the **Preferred name id**.
0 commit comments