OpenID Connect (OIDC)
Use these instructions to set up an OpenID Connect (OIDC) SSO provider for Tonic Structural.
SSO setup
Configuration requirements
When you configure the application/client in your SSO system, you must configure it to use Authorization Code Flow.
You must also make note of the client_id. You must provide the client ID when you complete the configuration for Structural.
Redirect URIs
In your SSO provider, configure the following redirect URIs:
Sign-in redirect URIs: For self-hosted instances, the value is
<tonic-base-url>/sso/callback.For Structural Cloud, the value is
https://app.tonic.ai/sso/callback/<your organization identifier>. Your organization identifier is displayed on your User Settings view.Sign-out redirect URIs:
<tonic-base-url>/sso/logout
Initiate login URI
To allow users to log in to Structural directly from the OIDC provider, provide an initiate login URI.
For self-hosted instances, the initiate login URI is their base URL for Structural.
For Structural Cloud, the value is https://app.tonic.ai/sso/login/<your organization identifier>. Your organization identifier is displayed on your User Settings view.
Structural configuration - self-hosted
On a self-hosted instance, you use environment settings to configure the connection to OIDC
Required environment settings
In the Structural web server container, set the following Structural environment settings:
TONIC_SSO_PROVIDER:OIDCTONIC_SSO_CLIENT_ID: <application client ID>TONIC_SSO_CLIENT_SECRET: Only required for HTTP basic authentication (client_secret_basic). The client secret.TONIC_SSO_OIDC_AUTHORITY: The base URL of the provider. This is the location of/.well-known/openid-configurationTONIC_SSO_GROUP_FILTER_REGEX: Identifies the allowed SSO groups for Structural. For details, go to Synchronizing SSO groups with Structural.
Optional environment settings
TONIC_SSO_OIDC_SCOPES
openid profile email
The space-delimited list of scopes to request from the OIDC SSO provider. Because group information is not part of the standard OIDC specification, for Structural to capture group information, a custom scope must be configured.
TONIC_SSO_OIDC_FIRST_NAME_CLAIM_NAME
given_name
The name of the claim that contains the user's first name.
TONIC_SSO_OIDC_LAST_NAME_CLAIM_NAME
family_name
The name of the claim that contains the user's last name.
TONIC_SSO_OIDC_EMAIL_CLAIM_NAME
email
The name of the claim that contains the user's email/username.
TONIC_SSO_OIDC_GROUPS_CLAIM_NAME
groups
The name of the claim that contains the user's group membership.
TONIC_SSO_OIDC_ADDITIONAL_ENDPOINT_BASE_ADDRESSES
The space-delimited list of approved secondary domains where your identity provider is allowed to host its login and token services.
Structural configuration - Structural Cloud
Required global permission: Manage user access to Tonic Structural and to any workspace
Configuring the general connection information
On Structural Cloud, after you enable SSO, to configure the connection to OIDC:

Click OIDC.
In the Authority URL field, provide the base URL of the provider. This is the location of
/.well-known/openid-configuration.In the Client ID field, provide the identifier of the client application.
In the Client Secret field, for HTTP basic authentication (
client_secret_basic), provide the client secret.Optionally, in the Scopes field, provide a space-delimited list of scopes to request from the OIDC SSO provider. Note that because group information is not part of the standard OIDC specification, for Structural to capture group information, a custom scope must be configured.
Configuring claims
If you use claims to store user information, then to identify the claims:

Expand the Advanced Claim Configuration section.
In the Email Claim Name field, provide the name of the claim that contains the user's email/username.
In the First Name Claim Name field, provide the name of the claim that contains the user's first name.
In the Last Name Claim Name field, provide the name of the claim that contains the user's last name.
In the Groups Claim Name field, provide the name of the claim that contains the user's group membership.
Last updated
Was this helpful?