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: articles/active-directory/app-provisioning/functions-for-customizing-application-data.md
+35-31Lines changed: 35 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -908,85 +908,85 @@ Replaces values within a string in a case-sensitive manner. The function behaves
908
908
#### Replace characters using a regular expression
909
909
**Example 1:** Using **oldValue** and **replacementValue** to replace the entire source string with another string.
910
910
911
-
Let’s say your HR system has an attribute `BusinessTitle`. As part of recent job title changes, your company wants to update anyone with the business title “Product Developer” to “Software Engineer”.
911
+
Let's say your HR system has an attribute `BusinessTitle`. As part of recent job title changes, your company wants to update anyone with the business title "Product Developer" to "Software Engineer".
912
912
Then in this case, you can use the following expression in your attribute mapping.
**Example 2:** Using **oldValue** and **template** to insert the source string into another *templatized* string.
922
922
923
923
The parameter **oldValue** is a misnomer in this scenario. It is actually the value that will get replaced.
924
-
Let’s say you want to always generate login id in the format `<username>@contoso.com`. There is a source attribute called **UserID** and you want that value to be used for the `<username>` portion of the login id.
924
+
Let's say you want to always generate login id in the format `<username>@contoso.com`. There is a source attribute called **UserID** and you want that value to be used for the `<username>` portion of the login id.
925
925
Then in this case, you can use the following expression in your attribute mapping.
**Example 3:** Using **regexPattern** and **replacementValue** to extract a portion of the source string and replace it with an empty string or a custom value built using regex patterns or regex group names.
935
935
936
-
Let’s say you have a source attribute `telephoneNumber` that has components `country code` and `phone number` separated by a space character. E.g. `+91 9998887777`
936
+
Let's say you have a source attribute `telephoneNumber` that has components `country code` and `phone number` separated by a space character. E.g. `+91 9998887777`
937
937
Then in this case, you can use the following expression in your attribute mapping to extract the 10 digit phone number.
You can also use this pattern to remove characters and collapse a string.
947
947
For example, the expression below removes parenthesis, dashes and space characters in the mobile number string and returns only digits.
948
948
949
949
`Replace([mobile], , "[()\\s-]+", , "", , )`
950
950
951
-
***source:**`[mobile] = “+1 (999) 888-7777”`
952
-
***regexPattern:**“`[()\\s-]+`”
953
-
***replacementValue:**“” (empty string)
951
+
***source:**`[mobile] = "+1 (999) 888-7777"`
952
+
***regexPattern:**"`[()\\s-]+`"
953
+
***replacementValue:**"" (empty string)
954
954
***Expression output:** 19998887777
955
955
956
956
**Example 4:** Using **regexPattern**, **regexGroupName** and **replacementValue** to extract a portion of the source string and replace it with another literal value or empty string.
957
957
958
-
Let’s say your source system has an attribute AddressLineData with two components street number and street name. As part of a recent move, let’s say the street number of the address changed and you want to update only the street number portion of the address line.
959
-
Then in this case, you can use the following expression in your attribute mapping to extract the 10 digit phone number.
958
+
Let's say your source system has an attribute AddressLineData with two components street number and street name. As part of a recent move, let's say the street number of the address changed and you want to update only the street number portion of the address line.
959
+
Then in this case, you can use the following expression in your attribute mapping to extract the street number.
**Example 5:** Using **regexPattern**, **regexGroupName** and **replacementAttributeName** to handle scenarios when the source attribute is empty or doesn’t have a value.
979
+
**Example 5:** Using **regexPattern**, **regexGroupName** and **replacementAttributeName** to handle scenarios when the source attribute is empty or doesn't have a value.
980
980
981
-
Let’s say your source system has an attribute telephoneNumber. If telephoneNumber is empty, you want to extract the 10 digits of the mobile number attribute.
981
+
Let's say your source system has an attribute telephoneNumber. If telephoneNumber is empty, you want to extract the 10 digits of the mobile number attribute.
982
982
Then in this case, you can use the following expression in your attribute mapping.
When **source** value matches a **key**, returns **value** for that **key**. If **source** value doesn't match any keys, returns **defaultValue**. **Key** and **value** parameters must always come in pairs. The function always expects an even number of parameters. The function should not be used for referential attributes such as manager.
1108
1108
1109
+
> [!NOTE]
1110
+
> Switch function performs a case-sensitive string comparison of the **source** and **key** values. If you'd like to perform a case-insensitive comparison, normalize the **source** string before comparison using a nested ToLower function and ensure that all **key** strings use lowercase.
1111
+
> Example: `Switch(ToLower([statusFlag]), "0", "true", "1", "false", "0")`. In this example, the **source** attribute `statusFlag` may have values ("True" / "true" / "TRUE"). However, the Switch function will always convert it to lowercase string "true" before comparison with **key** parameters.
Copy file name to clipboardExpand all lines: articles/active-directory/manage-apps/f5-big-ip-headers-easy-button.md
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,13 +31,12 @@ To learn about all of the benefits, see the article on [F5 BIG-IP and Azure AD i
31
31
32
32
This scenario looks at the classic legacy application using HTTP authorization headers to control access to protected content.
33
33
34
-
Being legacy, the application lacks any form of modern protocols to support a direct integration with Azure AD. Modernizing the app is also costly, requires careful planning, and introduces risk of potential downtime.
34
+
Being legacy, the application lacks modern protocols to support a direct integration with Azure AD. The application can be modernized, but it is costly, requires careful planning, and introduces risk of potential downtime. Instead, an F5 BIG-IP Application Delivery Controller (ADC) is used to bridge the gap between the legacy application and the modern ID control plane, through protocol transitioning.
35
35
36
-
One option would be to consider [Azure AD Application Proxy](../app-proxy/application-proxy.md), to gate remote access to the application.
36
+
Having a BIG-IP in front of the application enables us to overlay the service with Azure AD pre-authentication and headers-based SSO, significantly improving the overall security posture of the application.
37
37
38
-
Another approach is to use an F5 BIG-IP Application Delivery Controller (ADC), as it too provides the protocol transitioning required to bridge legacy applications to the modern ID control plane.
39
-
40
-
Having a BIG-IP in front of the application enables us to overlay the service with Azure AD pre-authentication and header-based SSO, significantly improving the overall security posture of the application for both remote and local access.
38
+
> [!NOTE]
39
+
> Organizations can also gain remote access to this type of application with [Azure AD Application Proxy](../app-proxy/application-proxy.md)
41
40
42
41
## Scenario architecture
43
42
@@ -144,7 +143,7 @@ You can now access the Easy Button functionality that provides quick configurati
144
143
145
144

146
145
147
-
5. Review the list of configuration steps and select Next
146
+
5. Review the list of configuration steps and select **Next**
148
147
149
148

150
149
@@ -164,7 +163,7 @@ Consider the **Azure Service Account Details** be the BIG-IP client application
164
163
165
164
2. Enable **Single Sign-On (SSO) & HTTP Headers**
166
165
167
-
3. Enter the **Tenant Id**, **Client ID**, and **Client Secret** you noted down during tenant registration
166
+
3. Enter the **Tenant Id**, **Client ID**, and **Client Secret** you noted when registering the Easy Button client in your tenant.
168
167
169
168
4. Confirm the BIG-IP can successfully connect to your tenant, and then select **Next**
170
169
@@ -380,4 +379,4 @@ If you don’t see a BIG-IP error page, then the issue is probably more related
380
379
381
380
2. The **View Variables** link in this location may also help root cause SSO issues, particularly if the BIG-IP APM fails to obtain the right attributes
382
381
383
-
For more information, visit this F5 knowledge article [Configuring LDAP remote authentication for Active Directory](https://support.f5.com/csp/article/K11072). There’s also a great BIG-IP reference table to help diagnose LDAP-related issues in this F5 knowledge article on [LDAP Query](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/5.html).
382
+
For more information, visit this F5 knowledge article [Configuring LDAP remote authentication for Active Directory](https://support.f5.com/csp/article/K11072). There’s also a great BIG-IP reference table to help diagnose LDAP-related issues in this F5 knowledge article on [LDAP Query](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/5.html).
Copy file name to clipboardExpand all lines: articles/active-directory/manage-apps/f5-big-ip-kerberos-easy-button.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,11 +31,12 @@ To learn about all of the benefits, see the article on [F5 BIG-IP and Azure AD i
31
31
32
32
For this scenario, we have an application using **Kerberos authentication**, also known as **Integrated Windows Authentication (IWA)**, to gate access to protected content.
33
33
34
-
Being legacy, the application lacks modern protocols to support a direct integration with Azure AD. Modernizing the app would be ideal, but is costly, requires careful planning, and introduces risk of potential downtime.
34
+
Being legacy, the application lacks modern protocols to support a direct integration with Azure AD. The application can be modernized, but it is costly, requires careful planning, and introduces risk of potential downtime. Instead, an F5 BIG-IP Application Delivery Controller (ADC) is used to bridge the gap between the legacy application and the modern ID control plane, through protocol transitioning.
35
35
36
-
One option would be to consider using [Azure AD Application Proxy](../app-proxy/application-proxy.md), as it provides the protocol transitioning required to bridge the legacy application to the modern identity control plane. Or for our scenario, we'll achieve this using F5's BIG-IP Application Delivery Controller (ADC).
36
+
Having a BIG-IP in front of the application enables us to overlay the service with Azure AD pre-authentication and headers-based SSO, significantly improving the overall security posture of the application.
37
37
38
-
Having a BIG-IP in front of the application enables us to overlay the service with Azure AD pre-authentication and header-based SSO, significantly improving the overall security posture of the application for remote and local access.
38
+
> [!NOTE]
39
+
> Organizations can also gain remote access to this type of application with [Azure AD Application Proxy](../app-proxy/application-proxy.md)
39
40
40
41
## Scenario architecture
41
42
@@ -176,11 +177,11 @@ Consider the **Azure Service Account Details** be the BIG-IP client application
176
177
177
178
2. Enable **Single Sign-On (SSO) & HTTP Headers**
178
179
179
-
3. Enter the **Tenant Id, Client ID,** and **Client Secret** you noted down during tenant registration
180
+
3. Enter the **Tenant Id, Client ID,** and **Client Secret** you noted when registering the Easy Button client in your tenant.
180
181
181
182

182
183
183
-
Before you select **Next**, confirm that BIG-IP can successfully connect to your tenant.
184
+
Before you select **Next**, confirm the BIG-IP can successfully connect to your tenant.
184
185
185
186
### Service Provider
186
187
@@ -479,4 +480,4 @@ If you don’t see a BIG-IP error page, then the issue is probably more related
479
480
480
481
2. Select the link for your active session. The **View Variables** link in this location may also help determine root cause KCD issues, particularly if the BIG-IP APM fails to obtain the right user and domain identifiers.
481
482
482
-
See [BIG-IP APM variable assign examples](https://devcentral.f5.com/s/articles/apm-variable-assign-examples-1107) and [F5 BIG-IP session variables reference](https://techdocs.f5.com/en-us/bigip-15-0-0/big-ip-access-policy-manager-visual-policy-editor/session-variables.html) for more info.
483
+
See [BIG-IP APM variable assign examples](https://devcentral.f5.com/s/articles/apm-variable-assign-examples-1107) and [F5 BIG-IP session variables reference](https://techdocs.f5.com/en-us/bigip-15-0-0/big-ip-access-policy-manager-visual-policy-editor/session-variables.html) for more info.
For more information, visit this F5 knowledge article [Configuring LDAP remote authentication for Active Directory](https://support.f5.com/csp/article/K11072). There’s also a great BIG-IP reference table to help diagnose LDAP-related issues in this F5 knowledge article on [LDAP Query](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/5.html).
435
+
For more information, visit this F5 knowledge article [Configuring LDAP remote authentication for Active Directory](https://support.f5.com/csp/article/K11072). There’s also a great BIG-IP reference table to help diagnose LDAP-related issues in this F5 knowledge article on [LDAP Query](https://techdocs.f5.com/kb/en-us/products/big-ip_apm/manuals/product/apm-authentication-single-sign-on-11-5-0/5.html).
Copy file name to clipboardExpand all lines: articles/active-directory/manage-apps/f5-big-ip-oracle-enterprise-business-suite-easy-button.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,9 +160,9 @@ Some of these are global settings so can be re-used for publishing more applicat
160
160
161
161
2. Enable **Single Sign-On (SSO) & HTTP Headers**
162
162
163
-
3. Enter the **Tenant Id, Client ID**, and **Client Secret** you noted down from your registered application
163
+
3. Enter the **Tenant Id, Client ID**, and **Client Secret** you noted when registering the Easy Button client in your tenant.
164
164
165
-
4. Before you select **Next**, confirm that BIG-IP can successfully connect to your tenant.
165
+
4. Before you select **Next**, confirm the BIG-IP can successfully connect to your tenant.
166
166
167
167

Copy file name to clipboardExpand all lines: articles/active-directory/manage-apps/f5-big-ip-oracle-jde-easy-button.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 @@ Some of these are global settings so can be re-used for publishing more applicat
156
156
157
157
3. Enter the **Tenant Id, Client ID**, and **Client Secret** you noted down from your registered application
158
158
159
-
4. Before you select **Next**, confirm that BIG-IP can successfully connect to your tenant.
159
+
4. Before you select **Next**, confirm the BIG-IP can successfully connect to your tenant.
160
160
161
161

0 commit comments