PrivacyForge supports enterprise SSO through SAML 2.0, OAuth 2.0, and OpenID Connect. This guide covers setup, configuration, and troubleshooting.
SSO is available on the Enterprise plan only.
XML-based protocol widely used in enterprise environments. Works with Okta, Azure AD, OneLogin, PingFederate, and ADFS.
Token-based authorization framework. Supports PKCE for enhanced security. Works with custom OAuth providers.
Identity layer built on OAuth 2.0. Auto-discovers endpoints from issuer URL. Works with Google Workspace, Azure AD, Keycloak.
Provide these to your Identity Provider:
https://your-domain.com/api/auth/saml/acs/{orgId}https://your-domain.com/api/auth/saml/metadata/{orgId}https://your-domain.comopenid email profileFor OpenID Connect, you only need the Issuer URL -- PrivacyForge will auto-discover all endpoints via the .well-known/openid-configuration document.
https://your-domain.com/api/auth/oauth/callback/{orgId}Map your IdP's user attributes to PrivacyForge fields. Default mappings:
| PrivacyForge Field | Common IdP Attribute |
|---|---|
| email, mail, http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | |
| First Name | firstName, givenName, given_name |
| Last Name | lastName, surname, family_name |
| Role | role, groups, memberOf |
SAML assertion validation failed
Check that your IdP's certificate matches the one configured in PrivacyForge. Certificates may need to be renewed periodically.
User not provisioned
PrivacyForge uses Just-In-Time (JIT) provisioning. On first login, a user account is automatically created. Ensure the IdP sends an email attribute.
Clock skew error
SAML assertions are time-sensitive. Ensure your IdP server's clock is synchronized (NTP). PrivacyForge allows a 5-minute clock skew by default.
OAuth callback error
Verify the redirect URI in your IdP matches exactly: https://your-domain.com/api/auth/oauth/callback/{orgId}
SSO provider not found for email domain
Your organization's domain must be configured in PrivacyForge. Contact your administrator to verify the domain setting.
Need help? Contact Support