SSO (Single Sign-On)
SSO is available on Team and Enterprise plans. Undisk supports both OIDC (OpenID Connect) and SAML 2.0 identity providers. SSO setup is currently completed via REST API calls (shown below). Dashboard-based setup flow is planned.Setup
- Create an organization —
POST /api/orgswith{ name, slug } - Add a domain —
POST /api/orgs/:orgId/sso/domainswith{ domain: "example.com" } - Verify the domain — Add the returned TXT record to your DNS, then
POST /api/orgs/:orgId/sso/domains/:domain/verify - Register a provider —
POST /api/orgs/:orgId/sso/providerswith type (oidc/saml), issuer URL, client ID/secret - Activate —
POST /api/orgs/:orgId/sso/providers/:id/activate
SSO Login
Users with email domains matching a verified SSO domain are redirected to the IdP:Session Enforcement
SSO sessions have an expiry set by the IdP. When an SSO session expires, the user must re-authenticate via their IdP. TheX-SSO-Reauth-Required header is sent 5 minutes before expiry.
Organizations can enforce SSO by setting enforceSSO: true in org metadata. When enforced, password login is blocked for users with matching email domains — they must use SSO.
Credential Revocation
Org owners can revoke all SSO sessions and OAuth tokens for a user:SAML Metadata
SP metadata for SAML IdP configuration:SSO Audit Trail
SSO admin events (domain verification, provider changes, credential revocation) are logged in a separatesso_admin_log table at the organization level. File-level audit entries include ssoIdentity when the operation was performed via an SSO session.