For example, if you have a SAML configuration variable called subdomain
, then you can set your ACS URL string to https://${org.subdomain}.example.org/strawberry/login
. When your customer sets their subdomain
variable value to berryfarm
, then https://berryfarm.example.org/strawberry/login
is their ACS URL.
Note: A variable can include a complete URL (for example,
https://example.com
). This enables you to use global variables, such asorg.baseURL
.
The following are Expression Language specifics for SAML properties:
-
SAML integration variables you define in the OIN Wizard are considered Organization properties and have the
org.
prefix when you reference them in Expression Language. For example, if your integration variable name issubdomain
, then you can reference that variable withorg.subdomain
. -
SAML properties support Expression Language conditional expressions and evaluates everything between
${
and}
. For example, the following is an expression for the ACS URL property:${empty org.baseUrl ? 'https://app.mydomain.com' : org.baseUrl}
-
SAML properties don't support Expression Language String functions. Use JSTL functions instead. For example:
${fn:substringAfter(org.base_url, '//')}
${fn:substringBefore(user.userName, '@')}@example.com
https://${fn:endsWith(org.site_url, 'host1.com') ? 'host1.com' : fn:endsWith(org.site_url, 'host2.com') ? 'host2.com' : '.host.com'}/sso/saml
https://${fn:contains(org.environment, 'production') ? 'productiondomain.com' : 'previewdomain.com'}/sso/saml