Validation: OmniAuth redirect_uri fix for public domain login
Validation: OmniAuth redirect_uri fix (#246)
Verdict: PASS
Validated 2026-06-17 via Chrome DevTools headless browser.
Checks
- [x] Navigate to
https://landscaping-assistant.app— landing page loads - [x] Click Sign in — redirects to
keycloak.tail5b443a.ts.net/realms/landscaping(correct Keycloak, not auth.palinks.app) - [x]
redirect_uriin auth URL ishttps://landscaping-assistant.app/auth/keycloak/callback(dynamic, not hardcoded Tailscale) - [x] Login with
lucas-super-admin@test.landscaping.local/Test1234!— credentials accepted - [x] Callback redirects to
https://landscaping-assistant.app/— no 500, no error - [x] App loads with full identity: Today tab, properties, crew assignment, bottom nav visible
Additional Issues Found During Validation
- Rogue KEYCLOAK_URL: Live deployment had
KEYCLOAK_URL=https://auth.palinks.apphardcoded as a direct env var, overriding the secretKeyRef. Required manual kubectl patch to fix. Root cause unknown — deployment drift not caught by ArgoCD self-heal. - Missing POSTGRES_HOST: Same drift displaced
POSTGRES_HOSTfrom the container env, causing 500 on callback (ActiveRecord::ConnectionNotEstablished). Patched manually. - Username format: Keycloak users are
lucas-super-admin@test.landscaping.local, notlucas-super-adminas documented in~/secrets/landscaping-assistant/keycloak-test-users.env.
Related
- PR #247 — OmniAuth dynamic redirect_uri
- Issue #246 — parent bug