Antalya 26.6: Token authentication/authorization + OAuth client login - #2140
Open
zvonand wants to merge 13 commits into
Open
Antalya 26.6: Token authentication/authorization + OAuth client login#2140zvonand wants to merge 13 commits into
zvonand wants to merge 13 commits into
Conversation
…next commit) --- Original cherry-pick message follows: Merge pull request #1658 from Altinity/feature/antalya-26.3/pr-1430-1596 Antalya 26.3 forward-port: Token Authentication and Authorization # Conflicts: # ci/jobs/scripts/check_style/aspell-ignore/en/aspell-dict.txt # docs/en/operations/external-authenticators/index.md # src/Access/IAccessStorage.cpp # src/Access/UsersConfigParser.cpp # src/Parsers/Access/ASTAuthenticationData.cpp
Adapted the JWT users.xml parsing to antalya-26.6's refactored `parseUserAuthMethod` (returns AuthenticationData, uses `auth_method_path` and `num_authentication_types` instead of pushing into `user->authentication_methods` with `user_config`). Kept antalya-26.6's `jwt_use_authenticator` prefix selection inside the source PR's `if (!children.empty())` guard in ASTAuthenticationData. Dropped the re-added aspell dictionary: the file was removed from antalya-26.6 by 3a5d8a3 ("Remove aspell and codespell from style check"), so the source PR's new dictionary words have no destination. Source-PR: #1658 (#1658)
…next commit) --- Original cherry-pick message follows: Merge pull request #1749 from Altinity/feature/antalya-26.3/pr-1606 Antalya 26.3: Add OAuth2 login to clickhouse-client (--login / --login=device) # Conflicts: # docs/en/interfaces/cli.md
The clickhouse-client documentation moved from docs/en/interfaces/cli.md to docs/en/interfaces/client.md on antalya-26.6 (commit 266165b "Add clickhousectl docs page and move ClickHouse Client to /interfaces/client"); cli.md now documents clickhousectl. Applied the source PR's doc changes (--login[=<mode>] / --oauth-credentials rows and the "OAuth credentials file" section) to docs/en/interfaces/client.md and restored cli.md to the base-branch content. Adapted: docs/en/interfaces/cli.md doc changes relocated to docs/en/interfaces/client.md (clickhouse-client docs moved on antalya-26.6) Source-PR: #1749 (#1749)
…next commit) --- Original cherry-pick message follows: Merge pull request #1777 from Altinity/fix/antalya-26.3/oauth-address-audit Antalya 26.3: address OAuth security audit # Conflicts: # src/Interpreters/Session.h # src/Parsers/Access/ASTAuthenticationData.cpp # src/Parsers/Access/ASTAuthenticationData.h
…next commit) --- Original cherry-pick message follows: Merge pull request #1809 from Altinity/feature/antalya-26.3/oauth-executable-token-in-client Antalya 26.3: add `--jwt-command` to client # Conflicts: # docs/en/interfaces/cli.md # src/Client/Connection.cpp # src/Interpreters/Session.h
- src/Client/Connection.cpp: kept the base branch's TOO_LARGE_ARRAY_SIZE error-code declaration next to the PR's AUTHENTICATION_FAILED one. - src/Interpreters/Session.h: applied the PR's removal of `auth_token_expires_at` while keeping the base branch's `certificate_info` member (out of the PR's scope). - docs: the PR patched docs/en/interfaces/cli.md, but commit 266165b on antalya-26.6 moved the ClickHouse Client reference to docs/en/interfaces/client.md (cli.md now documents `clickhousectl`). Applied the PR's `--jwt-command` / `--jwt-command-timeout` rows and the `--jwt-command` details section verbatim to client.md and restored cli.md to its antalya-26.6 content. Adapted: docs/en/interfaces/cli.md changes moved to docs/en/interfaces/client.md (file renamed on antalya-26.6 by 266165b) Source-PR: #1809 (#1809)
zvonand
force-pushed
the
feature/antalya-26.6/auto-grp-pr-1658
branch
from
August 4, 2026 13:52
de7c96f to
4b17690
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Add token-based authentication and authorization, with a new Entra processor type that validates Entra ID tokens locally through the OIDC flow using published JWKS (the tenant ID must now be set in the configuration, and the older azure type remains as an alias). Extend clickhouse-client with OAuth2 login, including browser and device code flows, and with an option to obtain a JWT from an external command, re-invoked on every reconnect.
Add token-based authentication and authorization, with a new Entra processor type that validates Entra ID tokens locally through the OIDC flow using published JWKS (the tenant ID must now be set in the configuration, and the older azure type remains as an alias). Extend clickhouse-client with OAuth2 login, including browser and device code flows, and with an option to obtain a JWT from an external command, re-invoked on every reconnect (#1658 by @zvonand, #1749 by @zvonand, #1777 by @zvonand, #1784 by @zvonand, #1799 by @zvonand, #1809 by @zvonand, #2086 by @zvonand, #2114 by @zvonand).
CI/CD Options
Exclude tests:
Regression jobs to run:
Combined port of 8 PR(s) (group
auto-grp-pr-1658). Cherry-picked from #1658, #1749, #1777, #1784, #1799, #1809, #2086, #2114.--jwt-commandto client #1809 — Antalya 26.3: add--jwt-commandto client