Skip to main content

SSO & Auth Configuration

Operators supply a small set of values to enable authentication flows: client credentials, discovery endpoints, and redirect URIs. For how the flows themselves work (enforcement, exemptions, just-in-time (JIT) provisioning, WebFinger), see Auth Flows. For setting up single sign-on (SSO) as an organization admin, see the product SSO guide.

What You Bring​

ValueScopeWhere It Goes
OpenID Connect (OIDC) Client ID + Client SecretPer organizationOrganization settings, via console or API
OIDC Discovery EndpointPer organizationOrganization settings, via console or API
Social login Client ID + Secret pairs (Google, GitHub)Instance-wideHelm values / environment variables
Redirect URI registered with the IdPPer IdP applicationDerived from CORE_DOMAIN; register https://api.<domain>/oidc/callback in the IdP

Any OIDC-compliant provider works: the system consumes the standard discovery document; there is no per-vendor configuration in Openlane itself.

Instance Configuration​

Social login providers and token settings are instance-level, configured through Helm values or environment variables:

openlane:
coreConfiguration:
auth:
enabled: true
providers:
# Social login, available to non-SSO orgs
google:
clientId: "social-google-client-id"
clientSecret: "social-google-secret"
github:
clientId: "social-github-client-id"
clientSecret: "social-github-secret"

# Organization SSO is configured via the API after deployment,
# not in Helm values

See Config and Secrets for how these values load and where secrets should live.

Per-Organization SSO Configuration​

Organization SSO settings live on the organization, managed through the console or the API:

# Query current SSO configuration
query GetOrgSSO($orgId: ID!) {
organizationSetting(id: $orgId) {
id
identityProvider
identityProviderClientID
oidcDiscoveryEndpoint
identityProviderLoginEnforced
}
}
# Update SSO configuration
mutation UpdateSSO($orgId: ID!, $config: UpdateOrganizationSettingInput!) {
updateOrganizationSetting(id: $orgId, input: $config) {
organizationSetting {
id
identityProvider
identityProviderLoginEnforced
}
}
}

Only enable identityProviderLoginEnforced after a successful test connection. Enforcement and exemption behavior is covered in Auth Flows.

Troubleshooting​

SymptomCheck
OIDC discovery failsThe discovery endpoint is reachable from the API host and serves a valid TLS certificate; curl <endpoint>/.well-known/openid-configuration
redirect_uri_mismatchThe redirect URI registered in the IdP matches https://api.<domain>/oidc/callback exactly: scheme, host, and path
Token signature validation failsThe token's issuer and audience claims match the configured values, and the IdP's JWKS endpoint is reachable