What’s supported
Signalog supports SAML 2.0 for single sign-on. We’ve tested with:
- Okta
- Google Workspace (Cloud Identity)
- Microsoft Entra ID (Azure AD)
- Auth0
- OneLogin
Any SAML 2.0-compliant IdP should work. SCIM provisioning is on the roadmap but not yet available. For now, users are created on first SSO login (just-in-time provisioning).
SSO is a Business-tier feature.
Step 1: Get your Service Provider (SP) metadata
Signalog publishes SP metadata at a public URL per team:
https://your-domain/api/v1/teams/{teamId}/sso/metadata
The metadata is XML and includes:
- Entity ID (your team’s unique SP identifier)
- Assertion Consumer Service URL (where the IdP POSTs SAML responses)
- Public certificate (used by the IdP to encrypt assertions, optional)
Open Team Settings → SSO and you’ll see a copyable URL. Most IdPs accept “import metadata via URL”. Paste this in and they’ll auto-configure.
Step 2: Configure your IdP
The exact steps differ per IdP, but the high-level shape is:
- Create a new SAML 2.0 application
- Import Signalog’s SP metadata (URL above)
- Set the NameID format to
email(we identify users by email) - Configure attribute mappings:
email→ user’s emailname→ user’s full name (optional but recommended)
- Assign the application to the users / groups who should have access
- Save and download the IdP metadata XML
Okta example
- Okta Admin → Applications → Browse App Catalog → Search “SAML 2.0” → Create
- App settings:
- Single sign-on URL:
https://your-domain/api/v1/auth/sso/callback - Audience URI (SP Entity ID): the entity ID from Signalog’s metadata
- Name ID format:
EmailAddress
- Single sign-on URL:
- Attribute statements:
email→user.emailname→user.firstName + " " + user.lastName
- Assign to users
- View Setup Instructions → copy the IdP metadata URL or download XML
Google Workspace example
- Google Admin → Apps → Web and mobile apps → Add custom SAML app
- Download metadata
- Service provider details:
- ACS URL:
https://your-domain/api/v1/auth/sso/callback - Entity ID: from Signalog’s metadata
- Name ID format:
EMAIL
- ACS URL:
- Attribute mapping:
emailandnameas above - User access: assign to the right OUs / groups
Step 3: Configure Signalog with the IdP metadata
Back in Signalog Team Settings → SSO:
- Paste the IdP metadata URL or upload the IdP metadata XML
- Optionally set a default role for users created via SSO (defaults to
member) - Click Save
Signalog parses the IdP metadata and stores the entity ID, SSO URL, and signing certificate.
Step 4: Test with a non-enforced login
Before enforcing SSO, verify it works:
- Open an incognito window
- Navigate to
https://your-domain/api/v1/auth/sso/{teamSlug}(the team slug is your team’s URL identifier) - You should be redirected to your IdP, then back to Signalog logged in
If something fails, the audit log captures SAML errors with detail. Common issues:
- NameID format mismatch: idP is sending NameID as
unspecified, Signalog expectsemail - Attribute missing.
emailclaim isn’t present in the SAML response - Certificate mismatch: idP signed with a different cert than the one in metadata
Step 5: Enforce SSO (optional, recommended)
Once SSO is verified, you can require it for all team members:
- Team Settings → SSO → toggle Enforce SSO
- Save
Enforcement effects:
- Members can no longer sign in with email/password. They must use SSO
- The login page detects the team and redirects to the IdP automatically
- Owner accounts can still use password login as a break-glass (so a misconfigured IdP doesn’t lock everyone out)
Just-in-time provisioning
When a user signs in via SSO for the first time:
- Signalog matches them to an existing user by email
- If no match, a new user is created with the email and name from SAML attributes
- They’re added to the team with the configured default role
- The audit log records
user.sso.provisionedwith the actor and source IdP
Removing access
To remove a user’s access:
- Remove them from the SAML application in your IdP (recommended. It stops new logins)
- Remove them from the team in Signalog (terminates their existing sessions)
If you only do step 1, existing Signalog sessions continue until they expire (default 24h for access tokens, 30d for refresh tokens). Doing both is safer.
Owner break-glass
Team owners can always sign in with password, even when SSO is enforced. This is intentional: if your IdP is misconfigured or temporarily down, an owner can still get into the team to fix things.
If you want to fully disable password login for owners (full SSO enforcement, no exceptions), open a support ticket. It’s available but requires explicit opt-in to avoid accidentally locking people out.
SCIM provisioning (roadmap)
True SCIM-based provisioning (auto-create, auto-deactivate, auto-update from your IdP) is on the roadmap. For now:
- Provisioning: just-in-time on first SSO login (good enough for most teams)
- Deactivation: manual in Signalog after removing IdP access (or via API)
- Updates: name changes propagate on next SSO login
If your compliance requirements need SCIM specifically, contact us.
Plan availability
SSO/SAML is Business-only. Other auth options:
| Method | Free | Pro | Business |
|---|---|---|---|
| Email + password | ✅ | ✅ | ✅ |
| GitHub OAuth | ✅ | ✅ | ✅ |
| Magic link | ✅ | ✅ | ✅ |
| 2FA (TOTP) | ✅ | ✅ | ✅ |
| SSO / SAML | — | — | ✅ |
| SSO enforcement | — | — | ✅ |
Next steps
- Set up two-factor authentication. Even with SSO, 2FA on the IdP side is recommended
- Audit log. Auth events are most useful when paired with SSO
- Configure team members. Manage roles for SSO-provisioned users