Configure Single Sign-On
Kumo supports single sign-on through OIDC (OpenID Connect), allowing you to bring your own identity provider (IdP). This enables integrations with Okta, Azure Active Directory, and any other OIDC-compliant provider. Authentication is configured entirely in your Helm values and Kubernetes Secrets; no Kumo-managed auth proxy is involved.
This page describes how to register your OIDC client and supply the credentials to Kumo. For illustration, Okta is used as the OIDC provider, but the steps apply to any OIDC-compliant IdP.
Configure Okta
-
Go to your Applications and create a new application with the following settings:
- Sign-in method: OIDC - OpenID Connect
- Application type: Web Application (confidential client - not Single-Page Application)
-
Under General Settings, enable the Authorization Code grant type.
-
Add the following sign-in redirect URI:
- Sign In:
https://<your-exposure-host>/v0/auth/callback
Replace
<your-exposure-host>with the public hostname configured inexposure.hostin your Helm values. - Sign In:
-
Ensure the token settings issue RS256
id_tokenvalues whoseaudmatches the client ID, and that theid_tokenincludessubandemailclaims. Request scopesopenid email profile. -
Select your preferred Assignment policy and click Save.
-
Copy the following values from the Okta application:
- Client ID (example:
0oa654ok0jBdIJrpT5d7) - Client Secret
- Issuer URL (example:
https://dev-22499602.okta.com)
- Client ID (example:
Create a Kubernetes Secret
Store the OIDC client secret in a Kubernetes Secret in the Helm release namespace before running helm install:
Configure Helm Values
Enable auth and supply the OIDC coordinates in your values.yaml:
auth.adminEmails bootstraps the first user to log in (while no admin exists yet) as an admin.
After an admin exists, additional admins must be promoted through the PATCH /v0/admin/users/<user_id> API.
Group-to-permission mapping is configured at runtime through the Kumo admin UI or API; groupsClaim only tells Kumo which id_token claim to read.