Skip to content

Commit 2696678

Browse files
committed
Identity Configuration tab info and headings
1 parent 50e696a commit 2696678

1 file changed

Lines changed: 23 additions & 19 deletions

File tree

  • content/en/docs/appstore/use-content/platform-supported-content/modules/SAML

content/en/docs/appstore/use-content/platform-supported-content/modules/SAML/idp_attributes.md

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ This document provides you the detail description of each IdP attribute and thei
1313

1414
## Identity Configuration
1515

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

1818
### Response Protocol Binding{#saml-binding}
1919

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+
2022
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.
2123
Some IdPs, however, require your app to use the more secure `ARTIFACT_BINDING`.
2224
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
3941
* If **Use AssertionConsumerService Concept** is set to `Yes…` then Auth-Request contains only the ‘`AssertionConsumerServiceIndex`’ attribute.
4042
By default, it is `No` when using a [Easy Default Flow](/appstore/modules/saml/#easy-flow).
4143

44+
### Assertion Consumer Service Index
45+
4246
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.
4347
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.
4448

45-
### Attribute Consuming Service
49+
## Attribute Consuming Service
4650

4751
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.
4852

4953
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.
5155

5256
When using using a [Easy Default Flow](/appstore/modules/saml/#easy-flow), disable both initial and in-session login options.
5357

@@ -56,7 +60,7 @@ Requesting user attributes at the SAML IdP is only available in the following ve
5660
* v3.3.0/v3.3.1 and above for Mendix 9 and 10
5761
* v2.3.0 and above for Mendix 8
5862

59-
### Encryption Settings{#encryption-settings}
63+
## Encryption Settings{#encryption-settings}
6064

6165
* **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.
6266

@@ -75,7 +79,7 @@ Requesting user attributes at the SAML IdP is only available in the following ve
7579

7680
See [Managing the Keys and Key Store](#keystore), below, for additional information and options related to encryption and signing keys.
7781

78-
#### Managing the Keys and Key Store{#keystore}
82+
### Managing the Keys and Key Store{#keystore}
7983

8084
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**.
8185

@@ -105,9 +109,9 @@ For versions below 3.5.0 only:
105109
Remember to set the new key store password in the `KeystorePassword` constant of your app.
106110
{{% /alert %}}
107111

108-
### Identity Provider Metadata
112+
## Identity Provider Metadata
109113

110-
#### Read IDP metadata from URL
114+
### Read IDP metadata from URL
111115

112116
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.
113117

@@ -121,23 +125,23 @@ If you want to manually import the IdP metadata files from a URL, do the followi
121125
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.
122126
If you need to change your identity provider metadata you can find more information in the [Response Protocol Binding](#saml-binding) section.
123127

124-
### Request Authentication Context
128+
## Request Authentication Context
125129

126130
On the **Request Authn Context** tab, the following settings can be used to specify the authentication context:
127131

128-
#### Allow IdP Initiated Authentication
132+
### Allow IdP Initiated Authentication
129133

130134
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.
131135

132-
#### Enable Force Authentication
136+
### Enable Force Authentication
133137

134138
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.
135139

136-
#### Enable Mobile Authentication Token
140+
### Enable Mobile Authentication Token
137141

138142
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/).
139143

140-
#### ⚠ Enable Delegated Authentication {#delegated-auth}
144+
### ⚠ Enable Delegated Authentication {#delegated-auth}
141145

142146
{{% alert color="warning" %}}
143147
This feature is deprecated.
@@ -150,7 +154,7 @@ In the SAML module, you can enable this by checking “Enable delegated authenti
150154

151155
If you enable this, you will need to enter the **Delegated Auth URL**.
152156

153-
#### In-session Authentication {#in-session}
157+
### In-session Authentication {#in-session}
154158

155159
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:
156160

@@ -169,33 +173,33 @@ This flow can be initiated by using the URL `https://{app-url}/sso/login?action=
169173

170174
To enable in-session authentication, you need to use the `OpenConfiguration` microflow to configure two microflows in the SAML SSO module:
171175

172-
#### Custom Prepare In-Session Authentication Microflow
176+
### Custom Prepare In-Session Authentication Microflow
173177

174178
Set **Custom Prepare In-Session Authentication microflow** to `CustomPrepareInSessionAuthentication`.
175179

176180
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.
177181

178-
#### Custom Evaluate In-Session Authentication Microflow
182+
### Custom Evaluate In-Session Authentication Microflow
179183

180184
Set **Custom Evaluate In-Session Authentication microflow** to `CustomEvaluateInSessionAuthentication`.
181185

182186
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.
183187

184-
#### Disable NameID Policy
188+
### Disable NameID Policy
185189

186190
**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.
187191

188192
If you check this box, you will not be able to set **Preferred name id**.
189193

190-
#### Authentication Context Comparison
194+
### Authentication Context Comparison
191195

192196
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).
193197

194-
#### Authentication Context Classes
198+
### Authentication Context Classes
195199

196200
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.
197201

198-
### User Provisioning
202+
## User Provisioning
199203

200204
For information, see the [User Provisioning](/appstore/modules/saml/#user-provisioning) section of the *SAML* document.
201205

0 commit comments

Comments
 (0)