server/priv/docs/en/guides/integrations/authentication/sso.md
Tuist offers single sign-on as a login option to provide additional account security for your organization.
Single sign-on is configured from the Authentication tab in your organization settings. Google Workspace, Okta, and custom OAuth 2.0 providers are supported.
[!NOTE] Single sign-on controls how members authenticate and whether authenticated users may join automatically. <.localized_link href="/guides/integrations/authentication/scim">System for Cross-domain Identity Management provisioning</.localized_link> controls whether an identity provider can create, update, and deprovision organization members. For Okta, most organizations configure both.
Provider identity, login discovery, and organization enrollment are separate concerns:
The provider issuer and login email domain are often different. For example, a company may use example.com for employee email while its provider issuer is https://login.vendor.example.net. New Okta and custom-provider configurations store these values separately.
New Okta and custom-provider configurations require a verified login email domain before they can create a new Tuist account or link an existing account that is not already an organization member. Organizations configured before this requirement retain their previous enrollment behavior until they verify a login domain or change their provider configuration.
example.com, in Login email domain.A verified login email domain can belong to only one Tuist organization. Changing the domain clears its verification and requires publishing the new text record. Automatic enrollment remains unavailable for new configurations until the domain is verified.
Google Workspace does not require this separate Tuist verification step because Google supplies the verified Workspace domain as part of the authenticated identity.
Tuist supports two enrollment policies:
Google configurations default to automatic enrollment. New Okta and custom-provider configurations default to invitation-only enrollment. Existing Okta and custom-provider configurations retain their previous automatic enrollment behavior until an administrator verifies a login domain, disables automatic enrollment, or changes the provider configuration.
The Enforce single sign-on setting is independent of enrollment. Enforcement prevents existing organization members from using email and password; it does not grant organization membership.
Organizations configured before login email domains were introduced retain their existing behavior:
This compatibility mode avoids interrupting existing users and onboarding flows, but it continues trusting any email address reported by the configured provider. Administrators should add and verify a login email domain to restrict enrollment and identity linking to addresses controlled by their organization.
Verifying a login domain or changing the provider or provider organization identifier permanently disables compatibility mode. Verify the login email domain before changing the provider configuration, particularly when single sign-on enforcement is enabled.
Google Workspace single sign-on authenticates users against a Workspace domain. Administrators can allow matching users to join automatically or require an invitation.
[!NOTE] Prerequisites
You need a Google Workspace organization with a verified domain. You must also be authenticated with Google using an email tied to the domain you are setting up.
example.com.Okta uses OpenID Connect to authenticate members. The Okta domain identifies the provider issuer; the separately verified login email domain controls discovery, new account linking, and enrollment.
If you also want Okta to create, update, or deprovision members automatically, configure <.localized_link href="/guides/integrations/authentication/scim#okta">Okta System for Cross-domain Identity Management provisioning</.localized_link> after single sign-on is working.
Tuist. Optionally upload the Tuist logo.https://tuist.dev/users/auth/okta/callback.your-company.okta.com.your-company.okta.com may have a login email domain of example.com.Assign the users or groups that should be allowed to authenticate through the Okta application.
Assignment grants access to the login flow, but organization membership still follows the enrollment policy. If the same users are provisioned through System for Cross-domain Identity Management, Tuist links the Okta identity to the existing organization member the first time the user signs in with the same email address.
A custom OAuth 2.0 provider allows an organization to use an identity service other than Google Workspace or Okta. The provider's user information endpoint must return a stable user identifier and an email address.
The provider URL scopes identities to the issuing provider. The verified login email domain determines which email addresses Tuist may trust when linking or enrolling users.
The command-line interface can configure Google Workspace or Okta and select an enrollment policy. For example:
tuist organization update sso example \
--provider okta \
--organization-id your-company.okta.com \
--enrollment-policy invitation-only
The --organization-id value identifies the provider organization. It is not the login email domain. New configurations must add and verify the login email domain from the organization's Authentication settings before enrolling new Okta users. Existing configurations retain their previous enrollment behavior until their provider configuration changes.
For new Okta and custom-provider configurations, confirm that the login email domain is verified. Then either invite the user or enable automatic enrollment. Organizations configured before login email domains were introduced retain their previous onboarding behavior until their provider configuration changes.
Confirm that the user entered the expected employee email address and that its domain exactly matches the verified login email domain. Existing members may also be discovered through their current organization membership.
Confirm that the text record name and value exactly match the values shown in Tuist. Domain Name System changes can take time to propagate, so retry verification after the record is publicly available.
Changing the provider or provider organization identifier stops using the previously inferred email domain. Confirm the new provider configuration, verify the login email domain, and test the login flow before enabling enforcement.