Antalya 26.3: Fixes for OAuth --login flow#2086
Conversation
CI triage — @zvonandVerdict: 0 of the failures are caused by this PR. All red checks are either infra (Grype), pre-existing/flaky server-side regression tests, or aggregate gates that just mirror those. The parts of CI that actually exercise this diff are green: all This PR only touches
DetailsGrype Scan (all 3 images) — infra, not a real vulnerability finding. The status line even reads "Completed with 0 high/critical vulnerabilities". The step failed because Grype could not load its vulnerability database: The scan never ran → count is RegressionTestsRelease / Iceberg (2) / iceberg_2 — server-side Iceberg tests, cannot be affected by a client-only diff. All 13 failing features are under
SQLLogic test — server-side SQL-engine conformance tests run against the server binary; they don't use FinishCIReport / PR — aggregate gates. They are red only because the checks above are red; they carry no independent failure. Bottom lineNothing to fix in the PR for CI. I'd re-run the three Grype jobs and the Iceberg regression job; if the Iceberg failures persist, they should be tracked against (Analysis is evidence-first from CI logs; I can't build/run ClickHouse in this container.) |
|
@blau-ai does this PR actually close the issues that it is intended to close? |
|
@zvonand Yes — I traced each linked issue against the diff, and the PR closes both. Here's the mapping. #1822 — confidential-client device flowRoot cause: Fix (correct): the device-authorization body is now built by if (!creds.client_secret.empty())
body += "&client_secret=" + urlEncodeOAuth(creds.client_secret);The two later device-flow steps (the polling token request) and the auth-code token exchange already sent the secret before this PR, so this was the one missing spot — matching the issue exactly. ✅ #1691 — two Medium defects from the #1606 auditDefect 1 — One honest caveat the PR documents itself: launching the browser directly moves the URL (carrying Defect 2 — unbounded OIDC discovery read (memory-exhaustion DoS): fixed. Regression tests
VerdictThe diff addresses all three defects described in the two issues, with matching regression tests, so the On CI: the currently-red checks (Grype scans reporting 0 high/critical, |
Closes #1691
Closes #1822
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix OAuth2 login CSRF-state lea, unbounded OIDC response in
clickhouse-clientand confidential clients authCI/CD Options
Exclude tests:
Regression jobs to run: