Skip to content

feat: Kerberos authentication via JDBC Thin (cross-platform)#253

Draft
bigorn0 wants to merge 7 commits into
developfrom
feat/kerberos-jdbc
Draft

feat: Kerberos authentication via JDBC Thin (cross-platform)#253
bigorn0 wants to merge 7 commits into
developfrom
feat/kerberos-jdbc

Conversation

@bigorn0
Copy link
Copy Markdown
Contributor

@bigorn0 bigorn0 commented May 26, 2026

https://app.gitbook.com/o/HBtg1gLTy0nw4NaX0MaV/s/k3cNzEeXGnIxGNnOQdDa/~/edit/~/changes/2019/targets/rdbms/oracle/oracle-kerberos-authentication-design

Summary

  • Adds Kerberos auth using JDBC Thin + Java 11–21 (no Instant Client / thick mode for Kerberos).
  • Java sidecar (jdbc/) with line-delimited JSON protocol; oracleHelper routes Kerberos sessions to the bridge.
  • Connection modal: Kerberos, Java path, ticket cache; OS auth option.
  • Docker lab (docker/): MIT KDC + Oracle Free for local/Azure testing.
  • Docs: docs/KERBEROS-JDBC.md, docker/README.md.

Stacked on HCK-16220/fix-tns-conenction (uses refactored connect()). After TNS merges to develop, rebase this branch onto develop and retarget the PR.

Test plan

  • ./jdbc/build.sh (downloads ojdbc11.jar / json.jar into jdbc/lib/)
  • cd docker && ./scripts/bootstrap.sh (or existing lab + ./scripts/fix-kerberos-principals.sh)
  • ./scripts/mac-kinit.sh then node docker/scripts/test-jdbc-kerberos.jsSUCCESS
  • ./scripts/ensure-kerberos-db-user.sh if ORA-01017
  • Hackolade: auth Kerberos, Java 21 path, connect to FREEPDB1
  • Password + thick still works (unchanged path)

bigorn0 and others added 7 commits May 22, 2026 13:48
Co-authored-by: Cursor <cursoragent@cursor.com>
Gate wallet usage on explicit mTLS while preserving legacy TNS profiles, normalize connect strings, pre-check DNS for unusable Azure hostnames, and propagate connection failures instead of empty schema lists.

Co-authored-by: Cursor <cursoragent@cursor.com>
Extract TNS, wallet, SSH, and connect-string helpers so connect stays within Sonar limits.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add JDBC bridge for Kerberos on Mac/Linux/Windows without Instant Client,
connection modal fields (Java path, ticket cache), Docker KDC lab, and docs.
Stacks on HCK-16220 connect refactor.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add scripts/build-jdbc-kerberos.js (postinstall + strict package step).
Stop tracking kerberos-jdbc-bridge.jar; add docker/.env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
JDBC Kerberos build is npm-only (postinstall / build:jdbc).

Co-authored-by: Cursor <cursoragent@cursor.com>
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
14 New issues
3 Security Hotspots

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Base automatically changed from HCK-16220/fix-tns-conenction to develop May 28, 2026 08:24
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