Configure Single Sign-On Enterprise¶
TestGen supports Single Sign-On (SSO) through any authentication provider that implements the OpenID Connect (OIDC) protocol, such as Okta, Microsoft Entra ID, or Auth0, or Ping Identity.
When SSO is enabled, users authenticate through your identity provider instead of using TestGen's built-in login. System administrators can still assign roles to users and manage project membership from the Administration console.
Prerequisites¶
- TestGen instance installed as outlined in Install Enterprise or Install on Kubernetes.
- An OIDC-compatible identity provider with a registered application. You will need: client ID, client secret, and the provider's server metadata URL.
Configure your identity provider¶
- Create a new application registration in your identity provider for TestGen.
- Set the redirect URI to your TestGen UI base URL (for example,
https://testgen.example.com). - Grant the application the
openid,profile, andemailscopes. - Note the client ID, client secret, and server metadata URL for use in the next step.
-
Create an
adminrole in your identity provider and assign it to at least one user. Configure the provider to include assigned roles in therolesclaim of the ID token.Warning
At least one user must hold the
adminrole. Once single sign-on is enabled, the login page offers only the single sign-on option, and the role is the only way to reach the Administration console.
Configure TestGen¶
Docker mode¶
- Navigate to the directory that contains the
docker-compose.ymlfile for TestGen. -
Create a file named
sso_auth.tomlin the same directory with the following content. Replace the placeholders with values from your identity provider. -
Add the following SSO environment variables under the x-common-variables section in
docker-compose.yml. -
Add a volume mount to the engine service in
docker-compose.ymlto make the TOML file available to TestGen. -
Restart the application.
Kubernetes mode¶
Single sign-on is configured as part of the install, which covers storing the sso_auth.toml file in a secret, the extraEnv variables, and the mount. See Install on Kubernetes.
How roles work with SSO¶
When a user logs in through SSO, TestGen checks the roles claim in the ID token for the value admin (case-insensitive). If found, the user is granted system administrator access. The user's project-level roles are managed separately through project membership.
Removing the admin role in your identity provider does not withdraw the access. System administrator access is granted at login and is removed only from the Administration console.
To set the claim name to something other than roles, update the TG_SSO_ROLES_CLAIM variable in docker-compose.yml.
System administrators can assign project roles (such as Data Quality or Analyst) to users from the Administration console after the user's first login.