IdP setup: Okta
Admin guide · Install wizard
This walkthrough pairs with the IdP step of the Greenlight install wizard. You’ll create an OIDC web app in the Okta admin console, copy its credentials back into the wizard, and validate the connection. Plan for about five minutes; everything happens in the browser — no CLI.
What you’ll need
Section titled “What you’ll need”- An Okta administrator who can create app integrations.
- The Redirect URI and Sign-out redirect shown in the wizard’s IdP step.
Create the app integration
Section titled “Create the app integration”-
In the Okta admin console, go to Applications → Applications → Create App Integration.
-
Choose OIDC – OpenID Connect, then application type Web Application. Select Next.
-
Name it
Greenlight. Under Sign-in redirect URIs, paste the Redirect URI from the wizard. Under Sign-out redirect URIs, paste the Sign-out redirect. -
Under Assignments, assign the groups that should have Greenlight access (you can refine this later). Select Save.
-
Copy the Client ID and Client secret from the app’s General tab.
-
Add the groups claim: go to Security → API → Authorization Servers, edit the server Greenlight will use, and under Claims add a claim named
groupson the ID token, value type Groups, with a filter that matches the groups you assigned (for example, a regex of.*scoped to assigned groups).
Back in the wizard
Section titled “Back in the wizard”-
Your Issuer URL is your Okta org URL, for example
https://acme.okta.com. -
Paste the Client ID and Client secret.
-
Keep Group claim as
groups(it matches the claim you added on the authorization server). -
(Optional) Paste the name of the Okta group whose members should be Greenlight org admins into Org admin group.
-
(Optional) To restrict who can sign in, paste a group’s name into User group — only members may sign in (everyone else is refused). Leave it blank to let anyone assigned the app sign in as a user.
-
Select Validate configuration. Greenlight fetches your org’s
/.well-known/openid-configurationand confirms the issuer, authorization endpoint, token endpoint, and JWKS all resolve. -
Save & continue. The secret goes straight to Key Vault; it is never stored in the database or shown again.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Fix |
|---|---|
| Validate fails with HTTP 404 | The issuer must be the bare org URL (https://acme.okta.com) — no /oauth2/default path unless you deliberately use a custom authorization server that serves discovery there. |
400 Bad Request redirect mismatch at sign-in | The sign-in redirect URI in Okta doesn’t exactly match the wizard’s value (scheme, host, and path must all match). |
| Users sign in but have no group-based access | The groups claim isn’t on the ID token, its filter doesn’t match, or the user isn’t assigned to the app. |