Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
75:integration:saml [2021/04/14 12:49] – [Generate a signing key] alz | 75:integration:saml [2024/02/06 10:23] – [Configuring Stages attributes in default-matcher section with JavaScript] alz | ||
---|---|---|---|
Line 9: | Line 9: | ||
===== Restrictions ===== | ===== Restrictions ===== | ||
- | Stages currently supports single sign on (SSO) only with one SAML server. | + | Stages currently supports single sign on (SSO) ** only with one ** SAML server. |
===== Generate a signing key ===== | ===== Generate a signing key ===== | ||
- | If you already have a SSL server certificate for Stages, you can use that certificate to sign the SAML requests. If you use encrypted SAML assertions - a separate | + | If you already have a SSL server certificate for Stages, you can use that certificate to sign the SAML requests. If you use encrypted SAML assertions - a separate |
< | < | ||
- | keytool -genkeypair -alias " | + | |
+ | keytool -genkeypair -alias " | ||
</ | </ | ||
- | Enter your Stages | + | Enter your Stages |
You can choose an arbitrary key name (e.g. '' | You can choose an arbitrary key name (e.g. '' | ||
- | |||
- | |||
===== Enable SAML for Stages ===== | ===== Enable SAML for Stages ===== | ||
Line 31: | Line 28: | ||
< | < | ||
| | ||
- | keystore="/ | + | keystoreFile="/ |
| | ||
... | ... | ||
Line 39: | Line 36: | ||
To globally enable SAML, set the '' | To globally enable SAML, set the '' | ||
+ | |||
+ | |||
===== Configure the SAML Service Provider (SP) ===== | ===== Configure the SAML Service Provider (SP) ===== | ||
Line 64: | Line 63: | ||
The '' | The '' | ||
===== ===== | ===== ===== | ||
- | |||
===== Generate the SAML SP metadata ===== | ===== Generate the SAML SP metadata ===== | ||
- | After configuring the SAML SP, you can download the SAML SP metadata directly by navigating to the URL '' | + | After configuring the SAML SP and logged on as root, you can download the SAML SP metadata directly by navigating to the URL '' |
The resulting XML file can be sent to the SAML IdP administrators and contains all information necessary to set up the trust relationship on the IdP side. After the SAML IdP has been configured with the SP metadata, users will be able to authenticate successfully with Stages through the SAML IdP. | The resulting XML file can be sent to the SAML IdP administrators and contains all information necessary to set up the trust relationship on the IdP side. After the SAML IdP has been configured with the SP metadata, users will be able to authenticate successfully with Stages through the SAML IdP. | ||
===== ===== | ===== ===== | ||
+ | |||
===== Configure the SAML Identity Provider (IdP) ===== | ===== Configure the SAML Identity Provider (IdP) ===== | ||
Line 90: | Line 89: | ||
* EMailAddress | * EMailAddress | ||
- | for the following configuration:< | + | for the following configuration: |
+ | < | ||
< | < | ||
Line 99: | Line 99: | ||
providerUrl="< | providerUrl="< | ||
nameIdPolicyFormat=" | nameIdPolicyFormat=" | ||
+ | sendBinding=" | ||
userFullnameTemplate=" | userFullnameTemplate=" | ||
Line 184: | Line 185: | ||
After you configured the service provider and identity provider in '' | After you configured the service provider and identity provider in '' | ||
+ | |||
+ | ===== Changing the license pool and license type for existing users ===== | ||
+ | |||
+ | By default, existing users are not modified by the SAML authentication process when the SAML configuration was changed after the user had been created. However, you can set the '' | ||
===== Configuring Stages attributes in default-matcher section with JavaScript ===== | ===== Configuring Stages attributes in default-matcher section with JavaScript ===== | ||
Line 212: | Line 217: | ||
</ | </ | ||
- | **JavaScript notation of value conditions: | + | **JavaScript notation of value conditions: |
+ | |||
+ | SAML Attributes that are defined via identity_provider_attribute elements can be used in these scripts. E.g. | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | < | ||
+ | Attribute contains value: | ||
+ | |||
+ | </ | ||
< | < | ||
- | <saml_attribute> | + | <saml_attribute_id> |
+ | < | ||
</ | </ | ||
Line 222: | Line 240: | ||
< | < | ||
- | <saml_attribute> | + | <saml_attribute_id> |
+ | < | ||
</ | </ | ||
Line 229: | Line 248: | ||
* The pattern matches the entry of the SAML attribute " | * The pattern matches the entry of the SAML attribute " | ||
- | * Depending on the users' email address (domain-part), | + | * Depending on the users' email address (domain-part), |
< | < | ||
< | < | ||
- | | + | |
| | ||
| | ||
- | if (mail.match(/ | + | if (email.match(/ |
- | else if (mail.match(/ | + | else if (email.match(/ |
else ' | else ' | ||
" | " | ||
| | ||
- | if (mail.match(/ | + | if (email.match(/ |
- | else if (mail.match(/ | + | else if (email.match(/ |
else ' | else ' | ||
" | " | ||
| | ||
- | if (mail.match(/ | + | if (email.match(/ |
else ''; | else ''; | ||
" | " | ||
Line 253: | Line 272: | ||
</ | </ | ||
+ | |||
+ | Please note that the values of multi value attributes are provided to the scripts as one value as a comma separated string. | ||
===== ===== | ===== ===== | ||
+ | |||
===== Configure the SAML Request Type ===== | ===== Configure the SAML Request Type ===== | ||
Line 273: | Line 295: | ||
Stages SAML has successfully been deployed with the following IdP servers: | Stages SAML has successfully been deployed with the following IdP servers: | ||
+ | * Azure AD IdP | ||
+ | * Okta | ||
+ | * JumpCloud | ||
* Cisco Central Web Authentication (CWA) | * Cisco Central Web Authentication (CWA) | ||
- | |||
* Oracle Access Manager (OAM) | * Oracle Access Manager (OAM) | ||
- | |||
* Shibboleth IdP | * Shibboleth IdP | ||
- | |||
* Active Directory Federation Services (ADFS) | * Active Directory Federation Services (ADFS) | ||