SAML SSO
SAML 2.0 Single Sign-On is included in the Community edition — free, no enterprise license required.
Regen acts as a SAML Service Provider (SP). It works with any standards-compliant Identity Provider (IdP): Okta, Azure AD (Entra ID), Google Workspace, OneLogin, and others.
When SSO is configured, users sign in via your IdP. Accounts are provisioned automatically on first login (JIT provisioning). Local username/password login continues to work alongside SSO.
Prerequisites
- Regen must be accessible over HTTPS (required by SAML)
- You need admin access to your IdP
Step 1: Configure Regen
Add to your .env:
SAML_IDP_METADATA_URL=https://your-idp.com/metadata
SAML_BASE_URL=https://incidents.yourcompany.com
SAML_BASE_URL must be the externally reachable URL of your Regen instance. This is used to build the SP metadata, ACS URL, and redirect URLs.
Restart: make stop && make start
Step 2: Get the SP metadata
After restarting, fetch your SP metadata:
https://incidents.yourcompany.com/saml/metadata
You'll need this URL (or the XML content) when configuring your IdP.
Okta
- In Okta admin console, go to Applications → Create App Integration
- Select SAML 2.0
- Set App name:
Fluidify Regen - Set Single sign on URL:
https://incidents.yourcompany.com/saml/acs - Set Audience URI (SP Entity ID):
https://incidents.yourcompany.com/saml/metadata - Set Name ID format:
EmailAddress - Add attribute statement:
email→user.email - Finish and copy the Identity Provider metadata URL
- Set
SAML_IDP_METADATA_URLto that URL
For Okta tile (IdP-initiated) login:
SAML_ALLOW_IDP_INITIATED=true
Azure AD / Entra ID
- In Azure portal, go to Enterprise Applications → New application → Create your own
- Select Integrate any other application you don't find in the gallery
- Go to Single sign-on → SAML
- Set Identifier (Entity ID):
https://incidents.yourcompany.com/saml/metadata - Set Reply URL (ACS URL):
https://incidents.yourcompany.com/saml/acs - Set Sign on URL:
https://incidents.yourcompany.com - Under Attributes & Claims, ensure
emailaddressmaps touser.mail - Copy the App Federation Metadata URL (under SAML Signing Certificate)
- Set
SAML_IDP_METADATA_URLto that URL
Google Workspace
- In Google Admin console, go to Apps → Web and mobile apps → Add app → Add custom SAML app
- Name it
Fluidify Regen - Download the IdP metadata XML and host it somewhere accessible (Google doesn't provide a metadata URL in all configurations), or use the provided metadata URL
- Set ACS URL:
https://incidents.yourcompany.com/saml/acs - Set Entity ID:
https://incidents.yourcompany.com/saml/metadata - Add attribute mapping:
Primary email→email - Set
SAML_IDP_METADATA_URLto the metadata URL
Custom SP certificate
By default, Regen generates a self-signed certificate for the SP. For production, provide your own:
SAML_CERT_FILE=/app/saml/sp.crt
SAML_KEY_FILE=/app/saml/sp.key
Mount the files into the container in docker-compose.yml:
volumes:
- ./saml/sp.crt:/app/saml/sp.crt:ro
- ./saml/sp.key:/app/saml/sp.key:ro
Testing the configuration
- Open a private/incognito browser window
- Go to
https://incidents.yourcompany.com/login - Click Sign in with SSO
- You should be redirected to your IdP
- After authenticating, you should land back at Regen as a logged-in user
First-time users are automatically created with the user role. Promote to admin under Settings → Users.
Disabling SSO
Remove SAML_IDP_METADATA_URL from your .env and restart. Local login continues to work.