Skip to main content
OpenID Connect (OIDC) is the sign-in layer on top of OAuth 2.0. You register CloudThinker as an OAuth client in your identity provider (IdP), then give CloudThinker three values: Issuer URL, Client ID and Client Secret.

Prerequisites

  • A verified email domain, the organization Owner role, and an eligible plan. See Set up single sign-on.
  • Admin access to your identity provider, with permission to create OAuth or OIDC applications.

What you exchange

CloudThinker requests the openid, email and profile scopes. It reads the user’s email from the email claim (falling back to preferred_username) and the name from given_name and family_name. It doesn’t read groups.
The OIDC wizard doesn’t display the redirect URI. To find your host, start Setup SSO, pick SAML 2.0, and click Next. The ACS URL on the SP Metadata step uses the same host: replace /api/v1/sso/saml/acs with /api/v1/sso/oidc/callback. Then click Back and choose OIDC.

Configure your provider

Go to Admin Settings → Identity and access → Setup SSO, choose OpenID Connect (OIDC), and click Next. The IdP Config step asks for Display Name (any label, for example Okta OIDC), Issuer URL, Client ID and Client Secret.
1

Create an OIDC app

In the Okta Admin Console, go to Applications → Applications → Create App Integration. Choose OIDC - OpenID Connect and Web Application. Under Grant type, keep Authorization Code.
2

Add the redirect URI

Under Sign-in redirect URIs, paste CloudThinker’s redirect URI. Assign the people or groups who need access, then save.
3

Finish in CloudThinker

From the app’s General tab, copy the Client ID and Client secret. On the IdP Config step, enter:
  • Issuer URL: https://your-org.okta.com. If you use a custom authorization server, enter its issuer instead, for example https://your-org.okta.com/oauth2/default.
  • Client ID and Client Secret: from the Okta app
Click Create Connection.
Success state: the dialog shows SSO Connection Created and the connection is Active. Next, run the connection test and a test sign-in from Set up single sign-on.

What the connection test checks

On Manage → Overview, Run connection test checks your configuration without a full sign-in: The test doesn’t verify the client secret or redirect URI. Do a real sign-in to confirm those.

What happens on first sign-in

OIDC follows the same rules as SAML:

Rotate the client secret

CloudThinker stores one client secret. Most IdPs, including Entra ID and Okta, let two secrets be valid at once, so you can rotate with no downtime:
1

Create a new secret in your IdP

Add a second client secret to the CloudThinker app. Leave the old one in place.
2

Save it in CloudThinker

Open Manage → Configuration on the Single sign-on card, paste the new value into Client Secret, and click Save Changes.
3

Test, then remove the old secret

Sign in through SSO in a private window. Once it works, delete the old secret in your IdP.
If your IdP allows only one secret, sign-ins fail between replacing it there and saving it in CloudThinker. The Owner can still sign in with an email code. See If your IdP is unavailable.

Troubleshooting

The redirect URI in your provider must match https://<your-cloudthinker-api-host>/api/v1/sso/oidc/callback exactly, including https:// and the full path. Use the tip above to confirm the host.
Copy the issuer value straight from your provider’s discovery document. Common mistakes: pasting the full .well-known/openid-configuration address, or leaving out /v2.0 for Entra ID.
CloudThinker must reach your issuer over the public internet. An issuer on a private network or behind a VPN can’t be discovered.
Check the Client ID and Client Secret. Expired secrets are a common cause on Entra ID. Follow Rotate the client secret.
Your provider isn’t returning an email or preferred_username claim. Allow the email scope for the app and make sure the user has an email address in the directory.
CloudThinker rejected the ID token or the token exchange. Check that the Issuer URL matches the discovery document, the client secret is current, and your IdP accepts client_secret_post and PKCE for this client.

Next steps

Test and require SSO

Run a test sign-in, choose provisioning, and turn on Require SSO

SCIM provisioning

Sync users and groups from your IdP automatically