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/idp_attributes.md
+23-19Lines changed: 23 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,10 +13,12 @@ This document provides you the detail description of each IdP attribute and thei
13
13
14
14
## Identity Configuration
15
15
16
-
You may need to choose a different SAML binding to match your IdP. You can configure the SAML binding in the **Identity Provider Metadata** tab of the OpenConfiguration microflow.
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.
17
17
18
18
### Response Protocol Binding{#saml-binding}
19
19
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
+
20
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.
21
23
Some IdPs, however, require your app to use the more secure `ARTIFACT_BINDING`.
22
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:
@@ -39,15 +41,17 @@ In most cases (for example, with Entra ID), you don not want to use the Assertio
39
41
* If **Use AssertionConsumerService Concept** is set to `Yes…` then Auth-Request contains only the ‘`AssertionConsumerServiceIndex`’ attribute.
40
42
By default, it is `No` when using a [Easy Default Flow](/appstore/modules/saml/#easy-flow).
41
43
44
+
### Assertion Consumer Service Index
45
+
42
46
Set **Assertion consumer service index** to the value you want to use for `AssertionConsumerServiceIndex` in both the Auth-Request and also in the SP-Metadata.
43
47
The configured binding will be included in the SP metadata, as indicated in the [URLs](/appstore/modules/saml/#urls) section. The default value is `0` for the deploy time configuration.
44
48
45
-
###Attribute Consuming Service
49
+
## Attribute Consuming Service
46
50
47
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.
48
52
49
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).
50
-
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**.
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.
51
55
52
56
When using using a [Easy Default Flow](/appstore/modules/saml/#easy-flow), disable both initial and in-session login options.
53
57
@@ -56,7 +60,7 @@ Requesting user attributes at the SAML IdP is only available in the following ve
56
60
* v3.3.0/v3.3.1 and above for Mendix 9 and 10
57
61
* v2.3.0 and above for Mendix 8
58
62
59
-
###Encryption Settings{#encryption-settings}
63
+
## Encryption Settings{#encryption-settings}
60
64
61
65
***Enable better security for app** (or *Use encryption*) – This setting controls the encryption and signing of messages being exchanged between your app (as an SP) and the IdP. This is in addition to the encryption provided by using a secure HTTPS connection. For security and privacy reasons it is enabled by default. When using the POST binding ensure the security/encryption settings remain enabled. When using the artifact binding on the responses, or if there are limitations in your IdP, it is possible to disable the security/encryption setting but we do not recommend this.
62
66
@@ -75,7 +79,7 @@ Requesting user attributes at the SAML IdP is only available in the following ve
75
79
76
80
See [Managing the Keys and Key Store](#keystore), below, for additional information and options related to encryption and signing keys.
77
81
78
-
####Managing the Keys and Key Store{#keystore}
82
+
### Managing the Keys and Key Store{#keystore}
79
83
80
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**.
81
85
@@ -105,9 +109,9 @@ For versions below 3.5.0 only:
105
109
Remember to set the new key store password in the `KeystorePassword` constant of your app.
106
110
{{% /alert %}}
107
111
108
-
###Identity Provider Metadata
112
+
## Identity Provider Metadata
109
113
110
-
####Read IDP metadata from URL
114
+
### Read IDP metadata from URL
111
115
112
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.
113
117
@@ -121,23 +125,23 @@ If you want to manually import the IdP metadata files from a URL, do the followi
121
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.
122
126
If you need to change your identity provider metadata you can find more information in the [Response Protocol Binding](#saml-binding) section.
123
127
124
-
###Request Authentication Context
128
+
## Request Authentication Context
125
129
126
130
On the **Request Authn Context** tab, the following settings can be used to specify the authentication context:
127
131
128
-
####Allow IdP Initiated Authentication
132
+
### Allow IdP Initiated Authentication
129
133
130
134
By default, the module does not allow for unsolicited requests. That means that every login has to be initiated from the Mendix application, and all the messages have to be exchanged using the same RequestID and RelayState. Some IdPs do not allow for the RelayState to be passed, or the authentication could be initiated by the IdP instead of at the SP. For all situations where the RelayState is not being generated or passed from the original login action at Mendix, this option should be enabled. By default, The SAML module does not allow for unsolicited requests, because that would be considered less secure.
131
135
132
-
####Enable Force Authentication
136
+
### Enable Force Authentication
133
137
134
138
Checking this box will force the SAML IdP to (re)authenticate end-users, even if they are already signed in at the SAML IdP. Only check this box if stronger security for your app is more important than the convenience of having single sign-on for your end-users.
135
139
136
-
####Enable Mobile Authentication Token
140
+
### Enable Mobile Authentication Token
137
141
138
142
If you are using a [hybrid mobile](/refguide9/mobile/introduction-to-mobile-technologies/hybrid-mobile/) app and you enable this, you can sign in to your Mendix hybrid mobile app after the app is closed, using an authentication token cookie. Only check this if you are using SAML on a hybrid mobile app. Note that this functionality also requires changes to the hybrid app package as described in [How To Implement SSO on a Hybrid App with Mendix and SAML](/howto8/mobile/implement-sso-on-a-hybrid-app-with-mendix-and-saml/).
@@ -150,7 +154,7 @@ In the SAML module, you can enable this by checking “Enable delegated authenti
150
154
151
155
If you enable this, you will need to enter the **Delegated Auth URL**.
152
156
153
-
####In-session Authentication {#in-session}
157
+
### In-session Authentication {#in-session}
154
158
155
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:
156
160
@@ -169,33 +173,33 @@ This flow can be initiated by using the URL `https://{app-url}/sso/login?action=
169
173
170
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`.
175
179
176
180
The `CustomPrepareInSessionAuthentication` microflow sets up specific data in the current user session so that it can be recovered after the SAML in-session authentication flow returns to the app. The microflow can use the context information that is passed via the `on` query parameter.
Set **Custom Evaluate In-Session Authentication microflow** to `CustomEvaluateInSessionAuthentication`.
181
185
182
186
The `CustomEvaluateInSessionAuthentication` microflow implements the logic that handles the authentication details of the in-session authentication. The SAML SSO module comes with an empty default `EvaluateInSessionAuthentication` flow, which can be enhanced to combine information from the original session with information received in the assertion from the in-session authentication.
183
187
184
-
####Disable NameID Policy
188
+
### Disable NameID Policy
185
189
186
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.
187
191
188
192
If you check this box, you will not be able to set **Preferred name id**.
189
193
190
-
####Authentication Context Comparison
194
+
### Authentication Context Comparison
191
195
192
196
You can configure the comparison method used to evaluate the requested context classes or statements, one of "exact", "minimum", "maximum", or "better". See section 3.3.2.2.1 of the [Core SAML specifications](https://www.oasis-open.org/committees/download.php/56776/sstc-saml-core-errata-2.0-wd-07.pdf).
193
197
194
-
####Authentication Context Classes
198
+
### Authentication Context Classes
195
199
196
200
This passes the allowed authentication methods. This has to be whatever the IdP requests, as there are no requirements within this module and all options are available. You should only pass the options which are needed as passing all options leads to significantly bigger (and slower) message exchange.
197
201
198
-
###User Provisioning
202
+
## User Provisioning
199
203
200
204
For information, see the [User Provisioning](/appstore/modules/saml/#user-provisioning) section of the *SAML* document.
0 commit comments