OIDC SSO
OpenID Connect (OIDC) is a modern authentication protocol built on OAuth 2.0. This guide walks you through configuring OIDC SSO for your Opik organization.
OIDC SSO is available on Enterprise plans. This feature is not available in open-source deployments. Reach out if you want to enable this feature for your Opik deployment.
Prerequisites
Before you begin, ensure you have:
- Organization admin access to Opik
- Admin access to your identity provider that supports OIDC
- Enterprise plan enabled for your organization
- Email domain you want to use for SSO (e.g.,
company.com)
OIDC vs. SAML
OIDC offers several advantages over SAML:
Choose OIDC when:
- Your IdP supports OIDC (most modern IdPs do)
- You prefer simpler configuration
- You don’t need attribute-based workspace sync
Choose SAML when:
- You need automatic workspace assignment based on user attributes
- Your organization requires SAML specifically
Configuration overview
Setting up OIDC SSO involves:
- Register Opik in your identity provider as an OIDC application.
- Configure Opik with your IdP’s OIDC endpoints and credentials.
Step 1: Register Opik in your IdP
Create a new OIDC/OAuth application in your identity provider:
Application settings
The exact callback URL will be displayed in your Opik SSO configuration page. Copy it directly from there.
Required scopes
Ensure your OIDC application requests these scopes:
openid- Required for OIDCprofile- User profile informationemail- User’s email address
Step 2: Gather IdP information
After registering the application, collect the following from your IdP:
Well-known endpoint: Most OIDC providers expose a discovery document at /.well-known/openid-configuration containing all endpoint URLs.
Step 3: Configure Opik
- Navigate to Admin Dashboard > SSO Configuration.
- Select OIDC as the SSO protocol.
- Enter the following settings:
Required OIDC settings
Optional OIDC settings
Field reference
Client ID
The unique identifier assigned to Opik when you registered it with your IdP:
- Created when you register the application
- Used in authorization requests to identify Opik
- Should be treated as public (not secret)
Client Secret
The secret key used to authenticate Opik with your IdP:
- Created when you register the application
- Used when exchanging authorization codes for tokens
- Must be kept secret - never expose in client-side code
Security: The client secret is sensitive. If compromised, regenerate it in your IdP and update the configuration in Opik.
Authorization URL (Auth Base URL)
The endpoint where users are redirected to authenticate:
This URL receives authorization requests with:
client_id- Your application’s client IDredirect_uri- The callback URLscope- Requested permissionsresponse_type- Alwayscodefor authorization code flowstate- Security parameter to prevent CSRF
Token URL (Access Token URL)
The endpoint where Opik exchanges authorization codes for access tokens:
Opik sends a POST request with:
grant_type- Alwaysauthorization_codecode- The authorization code receivedredirect_uri- The callback URLclient_idandclient_secret- For authentication
Callback URL
The URL where your IdP redirects users after authentication:
- Must be registered in your IdP’s allowed redirect URIs
- Must match exactly (including trailing slashes)
- Opik generates this URL based on your organization ID
Protected Resource URL (User Info URL)
The endpoint where Opik fetches user profile information:
Opik uses the access token to request:
sub- User’s unique identifieremail- User’s email addressname- User’s display name
Default Workspace
When users authenticate via OIDC for the first time:
- They are added to the default workspace specified in SSO settings.
- If not specified, they are added to the organization’s default workspace.
- Workspace assignment can be managed manually after initial login.
Unlike SAML with workspace sync, OIDC does not support automatic workspace assignment based on user attributes. Users are added to the default workspace on first login.
IdP-specific configuration guides
Okta
Azure AD (Entra ID)
Google Workspace
Auth0
Configuring Okta
- In Okta Admin Console, go to Applications > Create App Integration.
- Select OIDC - OpenID Connect and Web Application.
- Configure settings:
- Sign-in redirect URI: Your callback URL from Opik
- Sign-out redirect URI:
https://www.comet.com/opik - Controlled access: Assign users/groups as needed
- Note the Client ID and Client Secret.
- Find endpoints in Okta’s OpenID Connect Metadata or use:
- Authorization:
https://<your-domain>.okta.com/oauth2/v1/authorize - Token:
https://<your-domain>.okta.com/oauth2/v1/token - User Info:
https://<your-domain>.okta.com/oauth2/v1/userinfo
- Authorization:
Testing the configuration
After configuring both Opik and your IdP:
- Open an incognito/private browser window (to avoid cached sessions).
- Navigate to Opik’s login page.
- Enter an email address with your configured domain.
- You should be redirected to your IdP for authentication.
- After authenticating, you should be redirected back to Opik and logged in.
Troubleshooting
Common issues
Troubleshooting checklist
- Verify client credentials: Double-check client ID and secret.
- Check callback URL: Must match exactly (including protocol, trailing slashes).
- Validate endpoint URLs: Ensure all URLs are correct and accessible.
- Review IdP logs: Check your identity provider’s logs for errors.
- Test well-known endpoint: Verify
/.well-known/openid-configurationreturns valid JSON. - Check scopes: Ensure required scopes are configured and allowed.
Debugging with browser tools
Use browser developer tools to inspect the authentication flow:
- Open Network tab before starting login.
- Look for requests to your IdP’s authorization endpoint.
- Check for error parameters in the callback URL.
- Review any error responses from the token endpoint.
Security considerations
Client secret protection
- Store the client secret securely in Opik’s configuration.
- Never expose the client secret in logs or client-side code.
- Rotate the secret periodically per your security policies.
Callback URL validation
- Only configure the exact callback URL provided by Opik.
- Do not add additional redirect URIs unless necessary.
- Review registered redirect URIs periodically.
Token handling
Opik handles tokens securely:
- Access tokens are used server-side only.
- Tokens are not exposed to the browser.
- Sessions are managed securely after authentication.
Next steps
- Configure SAML if you need workspace sync features.
- Set up JWT authentication for programmatic access.
- Manage users and workspace assignments.