Auth0 Authentication Setup
- Self-hosted
This guide explains how to configure Auth0 authentication for a self-hosted Qualytics deployment. Auth0 is an alternative authentication method managed by Qualytics. While OIDC is recommended for most self-hosted deployments, Auth0 is a simpler option for organizations that have internet access from their cluster and prefer a managed authentication service.
When to Use Auth0 vs OIDC
| Consideration | Auth0 | OIDC |
|---|---|---|
| Network access | Requires HTTPS access to the Auth0 domain provided by Qualytics, typically auth.qualytics.io |
Requires HTTPS access to the configured IdP endpoints |
| Environment without public internet | Not supported | Supported when the IdP endpoints are available through private or internal routes |
| Setup complexity | Simpler; Qualytics manages the IdP | Requires IdP configuration by the customer |
| IdP management | Managed by Qualytics | Managed by the customer |
| SSO federation | Supports SSO through Auth0's integration network | Direct integration with your enterprise IdP |
| CLI authentication | Browser-based PKCE flow | Browser-based flow using the active Qualytics session |
Recommendation
OIDC is recommended for self-hosted deployments because it provides direct integration with your enterprise Identity Provider and can use private network paths. Use Auth0 if you prefer a managed solution and your cluster can reach the Auth0 domain provided by Qualytics.
How Auth0 Works for Self-Hosted Deployments
Unlike OIDC (where you configure your own Identity Provider), Auth0 is a managed service where Qualytics handles the authentication infrastructure:
- You request Auth0 resources from Qualytics
- Qualytics provisions an Auth0 organization, client credentials, and SSO connections
- You configure the provided values in your Helm deployment
- Qualytics manages ongoing Auth0 maintenance and updates
Step 1: Request Auth0 Resources from Qualytics
Contact your Qualytics account manager to request Auth0 authentication for your self-hosted deployment. Include the following information in your request:
| Information | Description |
|---|---|
| Company name | Your organization's name |
| Deployment domain | The domain where Qualytics will be accessible (e.g., qualytics.example.com) |
| SSO requirements (optional) | If you want to federate Auth0 with your enterprise IdP (e.g., Azure AD, Okta), specify the IdP and protocol (SAML, OIDC) |
| User count estimate | Approximate number of users who will access Qualytics |
What You Will Receive
After Qualytics provisions your Auth0 resources, your account manager will provide:
| Value | Description |
|---|---|
AUTH0_DOMAIN |
Your Auth0 tenant domain (typically auth.qualytics.io) |
AUTH0_AUDIENCE |
Your API audience identifier |
AUTH0_ORGANIZATION |
Your Auth0 organization ID (e.g., org_abc123) |
AUTH0_CLIENT_ID |
Your SPA client ID (required for UI and CLI authentication) |
Qualytics also provides a unique deployment identifier and an image registry token for the installation. These values are separate from the Auth0 credentials and from the platform license requested after installation.
Step 2: Configure Qualytics
Add the Auth0 values provided by Qualytics to your Helm values.yaml file:
Settings to Apply
| Helm Value | Description |
|---|---|
secrets.deployment.identifier |
Unique identifier for this installation (provided by Qualytics) |
secrets.auth0.auth0_domain |
Auth0 tenant domain (provided by Qualytics) |
secrets.auth0.auth0_audience |
API audience identifier (provided by Qualytics) |
secrets.auth0.auth0_organization |
Auth0 organization ID (provided by Qualytics) |
secrets.auth0.auth0_spa_client_id |
SPA client ID (provided by Qualytics) |
secrets.auth.jwt_signing_secret |
Secret for signing JWTs (minimum 32 characters; you generate this) |
Note
Auth0 is the default authentication mode (global.authType: "AUTH0"), so you do not need to set it explicitly. Apply the Auth0 domain supplied for your deployment. It is typically auth.qualytics.io.
Example values.yaml Configuration
global:
dnsRecord: "qualytics.example.com"
authType: "AUTH0" # default; can be omitted
secrets:
deployment:
identifier: "<provided by Qualytics>"
auth0:
auth0_domain: "<provided Auth0 domain>"
auth0_audience: "your-api-audience"
auth0_organization: "org_your-org-id"
auth0_spa_client_id: "your-spa-client-id"
auth:
jwt_signing_secret: "your-secure-random-string-min-32-chars"
Generating Secure Secrets
Use openssl rand -base64 32 to generate the jwt_signing_secret and other security secrets.
Merge these authentication settings into the complete protected configuration supplied for your installation. Retain the other required values already present in that file.
Step 3: Deploy or Restart
If this is a new deployment, follow the Self-Hosted Deployment Guide to deploy Qualytics.
If you are updating an existing deployment:
CHART_VERSION="<version provided by Qualytics>"
helm upgrade qualytics qualytics/qualytics \
--namespace qualytics \
--version "$CHART_VERSION" \
-f values.yaml \
--wait \
--timeout=20m
Use the complete protected values.yaml file that contains the installation's existing deployment identifier. Do not pass the identifier with --set, because command arguments can be stored in shell history and process logs.
Step 4: Verify Authentication
- Navigate to your Qualytics instance in a browser (e.g.,
https://qualytics.example.com) - You should be redirected to the Auth0 login page
- Authenticate using your credentials (or your enterprise SSO if configured)
- After successful authentication, you should be redirected back to the Qualytics UI
Network Requirements
The Qualytics application and user browsers must have outbound HTTPS access to:
| Endpoint | Purpose |
|---|---|
https://<provided-auth0-domain> |
Auth0 login and token exchange |
Air-Gapped Environments
Auth0 is not compatible with an environment that has no internet egress. Use OIDC authentication and make the required IdP endpoints available through private network routes.
SSO Federation Through Auth0
Auth0 supports federating authentication with your enterprise Identity Provider. This means your users can log in to Qualytics using their existing corporate credentials through Auth0.
Supported federation protocols through Auth0:
- OpenID Connect (OIDC)
- SAML 2.0
- Active Directory / LDAP
- Azure Active Directory (Entra ID)
- Google Workspace
- Okta
- PingFederate
To set up SSO federation, include your IdP details when requesting Auth0 resources from Qualytics. Your account manager will configure the appropriate connection.
CLI Authentication
With Auth0, the Qualytics CLI supports browser-based authentication using the PKCE (Proof Key for Code Exchange) flow. Start it with:
Replace the example URL with your Qualytics deployment URL. A browser window opens automatically. Authenticate with Auth0 or your federated IdP, then approve access for the CLI. OIDC also supports browser-based CLI authentication through an active Qualytics browser session. Both modes provide a manual token fallback when the browser flow is unavailable.
Troubleshooting
| Symptom | Likely Cause | Solution |
|---|---|---|
| Cannot reach Auth0 login page | Network egress blocked | Ensure your cluster allows outbound access to the Auth0 domain provided by Qualytics |
| Invalid audience or organization error | Incorrect Auth0 configuration | Verify secrets.auth0.auth0_audience and secrets.auth0.auth0_organization match what Qualytics provided |
| CLI authentication fails | Missing client ID | Ensure secrets.auth0.auth0_spa_client_id is set in your values.yaml |
| SSO redirect loop | Misconfigured SSO connection | Contact your Qualytics account manager to verify the SSO connection |
Need Help?
Contact your Qualytics account manager for assistance with Auth0 configuration or to request changes to your Auth0 setup.