The SAML Integrations plugin allows editors to link and embed login-protected external content or services. If you have a SAML SSO solution in place, the Staffbase platform can use this to make login-protected external content or services accessible to app users without an additional login. The SAML method is also an alternative when it is not possible to use the JWT SSO.
Once the SSO connection has been configured in the SAML Integrations plugin, it is easy for your editors to make login-protected content or services available to users.
Installing the SAML Integrations Plugin
- In the Experience Studio, navigate to Add plugin.
- Navigate to SAML Integrations and click Install.
The dialog to add a SAML integration opens.
- Provide a title for the integration.
- If your platform uses spaces, select the space All employees.
- Click Add SAML integration.
The SAML Integrations plugin has been added to the content menu and the first SSO connection has been added. The SSO connection is not configured yet.
Configuring the SSO Connection
The SAML Integrations plugin generates a public key and a private key which together verify that users requesting access to the login-protected content or service are signed into the Staffbase app.
- The content or service that you are embedding supports the IdP-initiated SSO flow that handles users’ access requests with the previously exchanged public key sent from Staffbase with each request.
- Check the following with the service provider:
- X-frame-options header is set to embedded.
- Embedded page is secured by HTTPS, especially on mobile devices, requirements for SSL certificates are high.
- Embedded page allows frames.
- Service allows one of the following login methods:
- In the Experience Studio, navigate to the SSO connection that you want to configure or add a new SSO connection.
- For Application Service Provider URL provide the URL of the service you want to embed.
- For Entity ID/ Audience URL, provide the URL which receives the information required for the SAML protocol.
- From the Signature Algorithm dropdown menu, select the type of signature algorithm you want to use.
The signature algorithm is an encryption method that passes login information between the Staffbase platform and the external system where the login-protected content resides.
- Click Save.
The public key and private key are generated.
- Note down the information from the fields Certificate and Identity Provider URL.
- Send the certificate and the identity provider URL to the service provider.
Once the service provider saves the certificate and the URL is saved as a trusted IdP, app users can access the content or service without additionally logging in.
The SSO connection is prepared and the content or service is ready to be embedded in your platform.
Reach out to your editor to finalize the configuration for this content or service. The editor might want to configure visibility settings or the placement in the menu before publishing the content or service.
Technical Showcase for IT
Example of the exchanged information with a demo service provider platform, in this case https://sptest.iamshowcase.com/acs. Click on the image for the full view with authentication and assertion details:
How does the Embedding of Content Work?
The SAML Integrations plugin adds an iFrame to the platform and, after successful SAML authentication, loads the content or service inside this frame.
What Information Is Included in the SAML Token?
The SAML token sent by Staffbase contains the following information:
- External ID (Identifier in the user profile)
- First name
- Last name
- Subject > NameID
information for the externalID (Identifier in the user profile)
- Optionally, additional user profile information
For further information about optional user profile information, reach out to your Customer Success Manager.
Additional Helpful Information
- More information on SAML
- More information on the IdP-initiated SSO flow
- Test the security level of your SSL certificate to ensure embedding on mobile devices, for example, with a platform like this one: https://www.ssllabs.com/ssltest/analyze.html
If your result is A or A+ the embedding should work.