This guide walks you through setting up SAML 2.0 single sign-on between TrueFoundry and Okta. Once finished, members of your Okta tenant can sign in to TrueFoundry through a Login with Okta button.Documentation Index
Fetch the complete documentation index at: https://www.truefoundry.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- A TrueFoundry tenant with Admin access to Settings → Security & Access → SSO.
- An Okta Workforce Identity Cloud tenant with permission to create new Applications (Super Admin or App Admin).
Configuration overview
Create the SSO configuration in TrueFoundry
Create a SAML 2.0 app integration in Okta
Configure the SAML connection on both sides
Step 1 — Create the SSO configuration in TrueFoundry
Open SSO settings

Fill in the basic fields
- Enabled: turn this on.
- Name: a lowercase alphanumeric label — for example,
oktasaml. - SSO Provider: choose Okta.
- Authentication Configuration: select SAML v2.
Save to reveal the Single sign-on URL, Audience URI (SP Entity ID), and Relay URL
- Single sign-on URL in Okta — Single Sign On URL in TrueFoundry.
- Audience URI (SP Entity ID) in Okta — Audience URI (SP Entity ID) in TrueFoundry.
- Default RelayState in Okta (optional) — Relay URL in TrueFoundry.

Step 2 — Create a SAML 2.0 application in Okta
Open the Okta admin console
https://<your-tenant>-admin.okta.com) as an administrator.In the left navigation, expand Applications → Applications and click Create App Integration.

Step 3 — Enter TrueFoundry’s details into Okta
On the Configure SAML step of the application you created in Step 2, fill in the SAML Settings card using the values from Step 1.Configure SAML settings
| Okta field | Value from TrueFoundry |
|---|---|
| Single sign-on URL | Single Sign On URL |
| Audience URI (SP Entity ID) | Audience URI (SP Entity ID) |
| Default RelayState | Relay URL |

Submit the feedback page
Step 4 — Copy Okta’s details back to TrueFoundry
Okta drops you on the application detail page once the wizard completes.Open View SAML setup instructions

Copy the IdP URL and certificate
- Identity Provider Single Sign-On URL — you’ll paste this into TrueFoundry as the Identity Provider Endpoint.
- X.509 Certificate — copy the full certificate from the text box, including the
-----BEGIN CERTIFICATE-----and-----END CERTIFICATE-----lines. You can also use Download certificate and open the file in a text editor.

Paste into TrueFoundry
- Identity Provider Endpoint → Identity Provider Single Sign-On URL from Okta.
- X.509 Certificate → the certificate you copied from the setup instructions.
Step 5 — Assign people in Okta
Okta only lets users sign in to applications they’ve been explicitly assigned to.Open Assignments

Step 6 — Test single sign-on
- Open a private/incognito window and go to your TrueFoundry login page.
- Click Login with Okta (or whichever label you set under Show advanced fields → Button Text).
- Authenticate with an Okta user you assigned to the application.
Optional next steps
- Automate user lifecycle with SCIM — see SCIM with Okta to push users and groups from Okta into TrueFoundry automatically.
- Use OIDC instead of SAML — see OIDC with Okta for the equivalent OpenID Connect flow.
Troubleshooting
'App is not assigned to this user' when clicking the login button
'App is not assigned to this user' when clicking the login button
'Invalid Signature' or 'Could not validate SAML response'
'Invalid Signature' or 'Could not validate SAML response'
The Login button works but the user gets 'no matching user found'
The Login button works but the user gets 'no matching user found'
Users sign in but email or unique ID is empty
Users sign in but email or unique ID is empty
email → user.profile.email and sub → user.id as described in Step 3. If you renamed attributes, expand Show advanced fields in TrueFoundry and set:- Email Claim → the attribute name you used for email (defaults to
email). - Unique ID Claim → defaults to
sub; on Okta the Name ID is typically the unique identifier, so you can usually leave this at the default.
'Audience Restriction' / 'Audience URI mismatch' errors
'Audience Restriction' / 'Audience URI mismatch' errors


