Skip to content

fix(frontend): include basePath in AUTH_OIDC_BASE_URL#681

Merged
RyanHolstien merged 2 commits intoacryldata:masterfrom
waterponey:fix/oidc-base-url-basepath
Mar 23, 2026
Merged

fix(frontend): include basePath in AUTH_OIDC_BASE_URL#681
RyanHolstien merged 2 commits intoacryldata:masterfrom
waterponey:fix/oidc-base-url-basepath

Conversation

@waterponey
Copy link
Contributor

@waterponey waterponey commented Mar 21, 2026

Summary

  • When global.basePath.enabled is true, AUTH_OIDC_BASE_URL now includes the frontend base path (e.g. https://example.com/datahub instead of https://example.com)
  • Adds an explicit oidcAuthentication.oidcBaseUrl override for cases where the auto-constructed URL is not suitable

Problem

AUTH_OIDC_BASE_URL was hardcoded to https://<ingress-host>, ignoring global.basePath.frontend. When deploying DataHub behind a base path (e.g. /datahub), the OIDC redirect_uri sent to the identity provider was missing the base path, causing authentication to fail with "Invalid parameter: redirect_uri".

Changes

charts/datahub/subcharts/datahub-frontend/templates/deployment.yaml
AUTH_OIDC_BASE_URL now uses a 3-way conditional:

  1. If oidcAuthentication.oidcBaseUrl is set → use it verbatim
  2. Else if global.basePath.enabled → append global.basePath.frontend to the ingress host
  3. Else → ingress host only (existing behavior, no breaking change)

charts/datahub/subcharts/datahub-frontend/values.yaml
Added a commented oidcBaseUrl option in the oidcAuthentication block.

Test plan

  • helm template with basePath.enabled=true and basePath.frontend=/datahubAUTH_OIDC_BASE_URL is https://example.com/datahub
  • helm template without basePath → AUTH_OIDC_BASE_URL is https://example.com (no regression) - [ ] helm template with explicit oidcBaseUrl → value is used as-is
  • Deploy with OIDC + basePath and verify the callback URL matches the IdP configuration

Closes #680

Checklist

  • The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
  • Links to related issues (if applicable)
  • Tests for the changes have been added/updated (if applicable)
  • Docs related to the changes have been added/updated (if applicable)

Note

Medium Risk
Changes how the frontend computes AUTH_OIDC_BASE_URL, which can affect OIDC redirect URIs and login behavior if misconfigured. Scope is limited to Helm templating/values and should be low impact for deployments not using OIDC or global.basePath.

Overview
Fixes OIDC deployments behind a base path by updating the frontend chart to include global.basePath.frontend when constructing AUTH_OIDC_BASE_URL.

Adds an oidcAuthentication.oidcBaseUrl values override to allow explicitly setting the redirect base URL, and bumps the parent Helm chart version to 0.8.23.

Written by Cursor Bugbot for commit 94734fb. This will update automatically on new commits. Configure here.

When global.basePath.enabled is true, AUTH_OIDC_BASE_URL now appends the
frontend base path to the ingress host. This fixes OIDC authentication
failures where the redirect_uri sent to the identity provider was missing
the base path (e.g. /datahub), causing an "Invalid parameter: redirect_uri"
error.

Also adds an oidcBaseUrl override in the oidcAuthentication values block
for cases where the automatically constructed URL is not suitable.

Closes acryldata#680
@RyanHolstien
Copy link
Contributor

Thanks for the contribution! 😄

@RyanHolstien RyanHolstien merged commit 8c4350a into acryldata:master Mar 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AUTH_OIDC_BASE_URL ignores ingress path — breaks OIDC when using basePath

2 participants