Blogs
A configuration driven custom Gogo Shell Command that can be used to restore a non-prod environments SAML Configuration
What is it?
- The SAML Restore Tool is a configuration driven custom Gogo Shell command that can be used to restore a non-prod environments SAML Configuration e.g. after a prod backup is restored into the environment.
What are the benefits?
- Support good practice of regularly restoring prod data into non-prod environments
- Supports security good practice of prod and non-prod environments using separate SAML IdPs, Certificates and Private Keys etc.
- Ensures that the SAML SP Metadata XML doesn't change, meaning it doesn’t need to be re-shared with the IdP team each time
- Removes the manual effort of re-configuring SAML post-database restore
Features
- Works in Liferay PaaS and Self Hosted *
- Tested in Liferay DXP QR 2025.Q1 LTS and Liferay DXP 7.4 U92
- Easy to run custom Gogo Shell Command samlRestoreTool:restoreSamlConfig
- Configuration
as Code
- Tool configuration managed in DXP Cloud Repository:
- liferay/configs/[ENV]/saml-restore-tool-config/virtual-instances
- Dedicated KeyStore per Virtual Instance
- KeyStore and Certificate passwords stored securely as Liferay PaaS Secrets
- Handles Liferay DXP environments with multiple Virtual Instances
- Handles Virtual Instances with multiple SAML Identity Provider Connections
* Liferay SaaS is not supported. This is an OSGi module because the /v1.0/saml-provider headless REST APIs are BETA, incomplete and abandoned. For example they don’t handle SAML Certificate management.
Known Limitations
- Liferay DXP environment acting as a SAML Identity
Provider (IdP) not handled
- Liferay DXP is typically used as a SAML Service Provider (SP)
- ALL environments (prod and non-prod) must be using the
Document Library Keystore Manager
- Document Library Keystore Manager is recommended for Liferay PaaS anyway
- Steps to switch the Keystore Manager are included in the README
- SAML Admin >
Identity Provider Connections > Connection setting 'Keep
Alive URL' value reset…
- This can be manually updated via the SAML Admin GUI if used
Resources
-
Github Repository containing the module source code
-
README for detailed instructions including setup and usage. Please read the README fully before attempting to use.