Skip to content

Antalya 26.5: Token Authentication and Authorization#1959

Open
zvonand wants to merge 4 commits into
antalya-26.5from
feature/antalya-26.5/pr-1784
Open

Antalya 26.5: Token Authentication and Authorization#1959
zvonand wants to merge 4 commits into
antalya-26.5from
feature/antalya-26.5/pr-1784

Conversation

@zvonand

@zvonand zvonand commented Jun 25, 2026

Copy link
Copy Markdown
Member

Auto-ported prerequisites: RelEasy detected that the requested port depended on PR(s) not yet on the target branch and auto-ported them first (1 PR(s) added). Reviewers: please confirm the prereq scope is appropriate.

Changelog category (leave one):

  • New Feature

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Introduce token-based authentication and authorization (#1430 by @zvonand, #1784 by @zvonand).

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Performance tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • All with Aarch64
  • All Regression
  • Disable CI Cache

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

Combined port of 2 PR(s) (group pr-1784). Cherry-picked from #1430, #1784.

zvonand added 4 commits June 25, 2026 01:47
…next commit)

---
Original cherry-pick message follows:

Merge pull request #1430 from Altinity/backports/antalya-26.1/1078

26.1 Antalya: Token Authentication and Authorization
# Conflicts:
#	ci/jobs/scripts/check_style/aspell-ignore/en/aspell-dict.txt
#	src/Access/AccessControl.h
#	src/Access/Authentication.cpp
#	src/Access/IAccessStorage.cpp
#	src/Access/UsersConfigParser.cpp
#	src/Server/TCPHandler.cpp
#	src/configure_config.cmake
Adapted `Authentication::areCredentialsValid` return type: antalya-26.5
changed the return type from `bool` to `CredentialsCheckResult`, so
`return false` in the source PR's `TokenCredentials` handling was adapted
to `return CredentialsCheckResult::Fail` and the `bool` result of
`checkTokenCredentials` was wrapped with a ternary.

Adapted `UsersConfigParser::parseUserAuthMethod`: antalya-26.5 refactored
the function to use `auth_method_path` prefix and return `AuthenticationData`
instead of writing directly to `user->authentication_methods`. The new
`has_jwt` branch from the source PR was adapted to use `auth_data` and
`auth_method_path` accordingly.

Adapted `TCPHandler::receiveHello`: antalya-26.5 added `socket().peerAddress()`
as an extra argument to the regular `session->authenticate` call; the source
PR's JWT branch (which uses the credentials overload) needed no change.

Kept both `REQUIRED_SECOND_FACTOR` and `AUTHENTICATION_FAILED` in
`IAccessStorage.cpp` (both error codes are used in the file).

Kept both `scope_guard.h` and `AuthenticationType.h` includes (both used).

Kept both `allow_impersonate_user` and `enable_token_auth` member variables
in `AccessControl.h` (independent additions from different branches).
…next commit)

---
Original cherry-pick message follows:

Merge pull request #1784 from Altinity/fix/antalya-26.3/oauth-fix-azure

[WiP] Antalya 26.3: OAuth -- rework Entra ID workflow
# Conflicts:
#	src/Access/TokenAccessStorage.cpp
#	src/Access/TokenProcessors.h
#	src/Access/TokenProcessorsOpaque.cpp
#	src/Access/TokenProcessorsParse.cpp
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.5 ai-resolved Port conflict auto-resolved by Claude auto-prereq-added Combined PR includes auto-added prerequisite PR(s) labels Jun 25, 2026
@github-actions

Copy link
Copy Markdown

Workflow [PR], commit [180e096]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-resolved Port conflict auto-resolved by Claude antalya-26.5 auto-prereq-added Combined PR includes auto-added prerequisite PR(s) releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant