Login errors
Redirected to the IdP, then bounced back to login
Redirected to the IdP, then bounced back to login
- Audience / entity ID mismatch: the IdP’s audience doesn’t equal your OpenCX SP Entity ID (exact string, no trailing slash).
- ACS URL mismatch: the IdP posted to the wrong reply URL. It must equal your OpenCX ACS URL exactly.
- Unsigned assertion: OpenCX requires a signed response/assertion. Enable signing with your IdP certificate.
Duplicate accounts appear on re-login
Duplicate accounts appear on re-login
user.objectid) as Name ID, each login can look like a new identity. Set Name ID format to email and value to the user’s primary email.'Invalid signature' or 'certificate' errors
'Invalid signature' or 'certificate' errors
'Response too old' / 'not yet valid' / clock skew
'Response too old' / 'not yet valid' / clock skew
User denied at the IdP
User denied at the IdP
OIDC: redirect_uri_mismatch / invalid_client
OIDC: redirect_uri_mismatch / invalid_client
redirect_uri_mismatch: the registered redirect URI doesn’t exactly match your OpenCX Redirect URI.invalid_client: wrong client ID/secret, or the client secret expired. Rotate it and re-share with OpenCX.
Attribute & role problems
Members' names show blank
Members' names show blank
firstName/lastName (SAML) or grant the profile scope (OIDC). See the attribute reference.Everyone lands as the default role
Everyone lands as the default role
- Confirm the
groupsclaim/attribute is actually emitted (Entra needs a groups claim on the app; Google needs a group mapping). - If your IdP sends object IDs (Entra), your OpenCX mapping must use those IDs, not display names.
- Check the claim isn’t filtered out by a “starts with” / regex rule.
A user has more access than expected
A user has more access than expected
Disabled a user, but they're still in OpenCX
Disabled a user, but they're still in OpenCX
Before you enforce
Enforcement turns off email + password login for your domain. Run this checklist first. While SSO isn’t self-serve, OpenCX has to reverse enforcement for you, so it’s worth getting right.Every active member logs in via the IdP
Roles are correct
Break-glass account is set
Pick a low-traffic window
Tell OpenCX to enforce