Skip to content

docs(oidc): document token providers, claim lists, issuer validation, and credential-bound HTTP sessions - #575

Open
glasstiger wants to merge 5 commits into
mainfrom
feat/qwp-entra-token-provider
Open

glasstiger wants to merge 5 commits into
mainfrom
feat/qwp-entra-token-provider

Conversation

@glasstiger

@glasstiger glasstiger commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Documents four tandem PRs, all merged and released:

Java client

  • java.md: new Token providers section. Covers token_provider=azure with the questdb-client-azure artifact, credential selection with azure_credential, AzureTokenSource, and how the Azure provider classifies failures. Also covers RefreshingTokenProvider with TokenSource, ExpiringToken, TokenUnavailableException, its builder options and awaitReady, and custom HttpTokenProvider implementations.
  • java.md: How the client handles token failures, by phase: the retry with a new token after a 401, startup, the QuestDB handle, senders that have connected, queries, and orphan drainers.
  • java.md: new Connection health section (db.health(), Sender.health(), QwpQueryClient.health()). The handle and builder tables gain connect(String, HttpTokenProvider), health(), and httpTokenProvider(...). Connection-level errors cover QwpAuthFailedException and QwpCredentialUnavailableException.
  • connect-string.md: the token_provider, azure_resource, azure_credential, and azure_client_id keys, with recipe and key index rows.
  • QWP client behaviour spec: new Authentication failures and token providers reference, with the phase table of the cross-language spec in fix(docs): fix Prometheus counter names #102. The ingress, egress, client failover, and connect string pages no longer describe authentication errors as terminal in every case for Java. Other clients are still described as terminal.

QuestDB Enterprise 4.1.0

  • configuration/oidc.md: new acl.oidc.issuer and acl.oidc.issuer.validation.enabled. Claim lists and their startup validation for acl.oidc.sub.claim and acl.oidc.groups.claim. acl.oidc.cache.ttl as the interval for which a session reuses a password check.
  • security/oidc.mdx: new User and group claims, Token validation (with the expected issuer and Entra ID v1.0 and v2.0 issuers), Sessions and token expiry, and Troubleshooting sections, and an upgrade warning.
  • security/oidc.mdx: new Managed identities and service principals section in the Entra ID guide: app roles, v2.0 access tokens, claim lists, role assignment with az rest, group mapping, and ingestion with the Java client.
  • security/rbac.md: new HTTP sessions section: sessions end with their credential, ending Web Console logins with DROP TOKEN TYPE REST, and what replicas keep.
  • operations/upgrade.md: Authentication changes in 4.1.0.
  • deployment/azure.md: link to the managed identity setup.

QuestDB 10.1.0

  • rest-api.md: new HTTP sessions section: session=true and session=false, the qdb_session cookie, and that a rejected credential ends the session.
  • http-server.md: new http.session.timeout entry.

Web Console

  • security/oidc.mdx: Web Console token renewal, covering renewal from the exp claim of the ID token, the resend after a 401, Missing ID token, and failed renewals with the Sign in again warning. Also Web Console sign-in errors.

Also changed

  • java.md: corrected the error categories and policies, that the QuestDB builder accepts an error handler, and added the AUTH_FAILED connection event.
  • acl.oidc.groups.claim has no default and is required.
  • The Entra ID example takes the principal from preferred_username instead of the display name, name.
  • A login without groups is rejected, not authenticated without permissions.
  • Notes the 4.1.0 limitation, from its release notes, that ingestion cannot create tables or add columns for external users.
  • Changelog entries for October 2026.

Dependencies

None open: Java client 1.3.11, QuestDB 10.1.0, and QuestDB Enterprise 4.1.0 are released, and include all four PRs.

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

🚀 Build success!

Latest successful preview: https://preview-575--questdb-documentation.netlify.app/docs/

Commit SHA: 33efeaf

📦 Build generates a preview & updates the link on each commit.

@glasstiger glasstiger changed the title docs(oidc): document fallback claim lists for acl.oidc.sub.claim and acl.oidc.groups.claim docs(oidc): document OIDC in QuestDB Enterprise 4.0.2, and Java client device flow and token providers Oct 21, 2026
@glasstiger glasstiger changed the title docs(oidc): document OIDC in QuestDB Enterprise 4.0.2, and Java client device flow and token providers docs(oidc): document OIDC in QuestDB Enterprise 4.1.0, and Java client device flow and token providers Oct 22, 2026
@glasstiger
glasstiger force-pushed the feat/qwp-entra-token-provider branch from 92e140d to 25aad54 Compare October 23, 2026 11:57
Comment thread documentation/connect/compatibility/rest-api.md Outdated
@glasstiger glasstiger changed the title docs(oidc): document OIDC in QuestDB Enterprise 4.1.0, and Java client device flow and token providers docs(oidc): document token providers, claim lists, issuer validation, and credential-bound HTTP sessions Oct 23, 2026
… and credential-bound HTTP sessions

Document the changes of questdb/java-questdb-client#102,
questdb/questdb-enterprise#1267, questdb/questdb#7799, and questdb/ui#617:

- Java client 1.3.11: token providers (token_provider=azure and
  RefreshingTokenProvider), how the client handles token failures, and
  connection health
- QuestDB Enterprise 4.1.0: fallback claim lists, issuer validation
  (acl.oidc.issuer, acl.oidc.issuer.validation.enabled), HTTP sessions that
  end with their credential, Entra ID managed identities and service
  principals, and the upgrade notes
- QuestDB 10.1.0: HTTP sessions in the REST API, and http.session.timeout
- Web Console: token renewal, failed renewals, and sign-in errors
@glasstiger
glasstiger force-pushed the feat/qwp-entra-token-provider branch from 25aad54 to 05e9a9a Compare October 23, 2026 12:03
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.

1 participant