Where SAML settings live
All SAML configuration lives on a single backend page: Select the SAML tile to reveal the SAML setup. Once SAML is configured, a summary card at the top shows the IdP details, the username source, both certificates with their expiry, and the last successful sign-in and test. Below it, the fields are grouped into sections:- Guided setup — three steps: download Curator’s metadata for your IdP, import the IdP’s metadata, and run a test sign-in. The test opens the IdP in a new window and lists the attributes it returned without signing anyone in.
- SAML connection details — the core IdP fields: Curator Entity ID (Issuer), IdP Entity ID, Sign-in URL (SSO), and Logout URL (SLO). Filled in by the import; edit them here only when you have values by hand.
- User provisioning and Attributes to store on the user profile — not relevant to the troubleshooting scenarios below.
- Request signing and certificates — the IdP signing certificate, the Curator signing certificate and private key, and the signing toggles.
- Compatibility overrides — Debug logging, strict mode, the skip-validation switches, bindings and algorithms. Every section below the guide is collapsed by default; click its header to expand it. The summary card shows an Overrides active chip whenever one of these is turned on.
The Curator backend login (at
/backend) is a separate account system from the frontend SAML login. A
broken SAML configuration only locks users out of the frontend portal — you can still sign in to the
backend with your Curator backend credentials to reach the settings above and fix the problem.Common failure symptoms
Diagnosing a single user after an IdP switch
The guidance above is written for a cutover you have not made yet. Once the cutover is done, you are usually dealing with a different situation: most users are fine, but one user’s dashboard tabs and buttons are missing or their content is denied. The usual cause is that the username the new IdP sends for that user no longer matches their existing platform user. Curator links a Frontend User to a Tableau user by username, so when the format of that username changes, the Frontend User is left with no platform user behind it. The login itself still succeeds, which is why the failure looks like missing content rather than a login error.Step 1: Find the exact username the IdP sent
Curator resolves the username from the Custom User Identifier Field when one is configured, then from ausername or Username attribute, and finally from the SAML NameID. It then strips the domain prefix if Strip
Domain Prefix is enabled and converts the result to lowercase. That final value is the one that must match the
platform user, so guessing at the claim your IdP is configured to send is not enough — read the value Curator
actually resolved.
- Set Debug logging to Response User Information using Enabling Debug Logging.
- Have the affected user log in again.
- Read the captured entry:
The entry records the attributes the IdP sent alongside the resolved
username. - Set Debug logging back to Off.
Step 2: Check whether the platform user link resolved
Open the affected user, then click the tab for your platform — Tableau Users for a Tableau connection. The table lists Tableau User ID, Username, Full Name, Site Role, Site, Server, and Last Synced.- A working link shows a real ID in the Tableau User ID column, the expected Site and Site Role, and a recent Last Synced timestamp.
- A broken link shows
User not on Site '<site name>'in the Tableau User ID column, meaning Curator found no matching user for that username on that site. An empty tab reading No Tableau users found. means no platform user is associated with the Frontend User at all.
Step 3: Reconcile the username formats
Compare the username from Step 1 with the username the user has on the platform. If the two differ only in format — for example the old IdP sentdomain\first.last and the new one sends first.last@example.com —
configure Username Mapping to translate between them. Do this
instead of renaming platform users by hand, so the fix applies to every affected user at once and survives future
logins.
Username Mapping can only change the format of a username, not the username itself. If the new IdP sends a
genuinely different identifier (for example
flast@example.com where the platform user is
first.last@example.com), mapping cannot reconcile it. Either have your IdP administrators send the original
value in the username claim, or point the Custom User Identifier Field at an attribute that still carries it.Updating an expired or changed IdP certificate
When your IdP rotates or renews its signing certificate, the certificate stored in Curator no longer matches and logins break. There are two ways to update it.Option 1: Re-import the IdP metadata (recommended)
- Download a fresh Federation Metadata XML file from your IdP. Each provider exposes this differently — see the Okta, OneLogin, or Azure AD guides for the exact location.
- With SAML selected, click Re-import metadata on the summary card (or open step 2 of the guide) and drop the XML file onto the upload area. You can paste the IdP’s metadata URL instead.
- Curator shows the IdP Entity ID, Sign-in URL (SSO), Logout URL (SLO) and certificate it found, with the certificate’s expiry date. Click Apply these settings.
- Click Test sign-in in step 3 to confirm the IdP signs you in.
Re-importing metadata only updates the fields present in the XML; it does not clear your other SAML settings. If
the file does not contain a value for a field, that field is left unchanged.
Option 2: Paste the certificate manually
If you only have the new certificate (not a full metadata file):- Replace the contents of the IdP signing certificate field with the new certificate.
- Save the page and test a login.
The IdP signing certificate field holds the IdP’s certificate. It is distinct from the Curator signing
certificate and Curator private key fields in the same section, which Curator uses to sign its own
requests. See Signing Login Requests for those.
Enabling Debug Logging
Curator has a built-in Debug logging setting that writes detailed SAML output to the system log so you can see exactly what the IdP is sending.- Set Debug logging to one of:
- SAML Response — logs the raw SAML response and prints the parsed attributes to the browser, halting the login. Use this for a one-off inspection, not on a live production login flow.
- Response Attributes — logs the attributes Curator parsed from the response.
- Response User Information — logs the resolved username alongside the attributes and API calls.
- Save the page and reproduce the failed login.
- Read the captured output in the system log under
storage/logs/(files are namedsystem-YYYY-MM-DD.log). - Set Debug logging back to Off when you are finished. It logs sensitive authentication data and, in the SAML Response mode, interrupts the login flow.
Strict mode and sign-in response checks
Strict mode is in the Compatibility overrides section. With strict mode on, Curator rejects a sign-in response when its audience, destination or issuer does not match Curator’s settings. New SAML setups use strict mode. Sites that used SAML before strict mode became the default keep the setting they had, so their sign-ins work as before. Whatever the strict mode setting, Curator checks every signed sign-in response in two more ways:- Expiry. The response is refused when its validity period ended more than 5 minutes ago, or starts more than 5 minutes from now. The 5 minutes allow for a small difference between the clocks on Curator and the IdP.
- One-time use. Each response can sign someone in only once. If the same response arrives again, for example when a user refreshes the page or uses the back button right after signing in, Curator refuses it. Curator remembers each response until it expires. A response with no expiry is remembered for 24 hours, and Curator does not refuse it for having no expiry.
Emergency recovery: regaining access when SAML is broken
If a SAML misconfiguration is preventing all frontend users from logging in, you can temporarily restore frontend access while you diagnose the problem. Because the backend login is independent of SAML, you always retain access to the settings needed to do this.- Sign in to the Curator backend at
/backendwith your backend credentials. - Change the Authentication Type from SAML to Curator Users and save. Curator now authenticates frontend users against locally stored accounts instead of your IdP.
- Create or use a local frontend user so you and your team can access the portal while SAML is down. See Curator Users for managing local accounts.
- Diagnose and fix the SAML problem — typically by updating the IdP certificate and using Debug logging to confirm the response now validates.
- Once SAML works again, switch the Authentication Type back to SAML and save.