This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-java.git
The following commit(s) were added to refs/heads/asf-site by this push:
new ae4f2966f Publish documentation
(0f8a0808fd9cf0bd22d3c6b40a2016ee724ce185)
ae4f2966f is described below
commit ae4f2966f396f9b9997d308ed5282c195bbada87
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Jan 23 10:01:37 2026 +0000
Publish documentation (0f8a0808fd9cf0bd22d3c6b40a2016ee724ce185)
---
main/_sources/flight_sql_jdbc_driver.rst.txt | 123 +++++++++++++++++++++++++
main/flight_sql_jdbc_driver.html | 132 +++++++++++++++++++++++++++
main/index.html | 1 +
main/searchindex.js | 2 +-
4 files changed, 257 insertions(+), 1 deletion(-)
diff --git a/main/_sources/flight_sql_jdbc_driver.rst.txt
b/main/_sources/flight_sql_jdbc_driver.rst.txt
index 180693094..4deb726b3 100644
--- a/main/_sources/flight_sql_jdbc_driver.rst.txt
+++ b/main/_sources/flight_sql_jdbc_driver.rst.txt
@@ -173,3 +173,126 @@ DriverManager#getConnection()
<https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html#getConnection-java.lang.String-java.lang.String-java.lang.String->`_,
the username and password supplied on the URI supercede the username and
password arguments to the function call.
+
+OAuth 2.0 Authentication
+========================
+
+The driver supports OAuth 2.0 authentication for obtaining access tokens
+from an authorization server. Two OAuth flows are currently supported:
+
+* **Client Credentials** - For service-to-service authentication where no
+ user interaction is required. The application authenticates using its own
+ credentials (client ID and client secret).
+
+* **Token Exchange** (RFC 8693) - For exchanging one token for another,
+ commonly used for federated authentication, delegation, or impersonation
+ scenarios.
+
+OAuth Connection Properties
+---------------------------
+
+The following properties configure OAuth authentication. These properties
+should be provided via the ``Properties`` object when connecting, as they
+may contain special characters that are difficult to encode in a URI.
+
+**Common OAuth Properties**
+
+.. list-table::
+ :header-rows: 1
+
+ * - Parameter
+ - Type
+ - Required
+ - Default
+ - Description
+
+ * - oauth.flow
+ - String
+ - Yes (to enable OAuth)
+ - null
+ - The OAuth grant type. Supported values: ``client_credentials``,
+ ``token_exchange``
+
+ * - oauth.tokenUri
+ - String
+ - Yes
+ - null
+ - The OAuth 2.0 token endpoint URL (e.g.,
+ ``https://auth.example.com/oauth/token``)
+
+ * - oauth.clientId
+ - String
+ - Conditional
+ - null
+ - The OAuth 2.0 client ID. Required for ``client_credentials`` flow,
+ optional for ``token_exchange``
+
+ * - oauth.clientSecret
+ - String
+ - Conditional
+ - null
+ - The OAuth 2.0 client secret. Required for ``client_credentials`` flow,
+ optional for ``token_exchange``
+
+ * - oauth.scope
+ - String
+ - No
+ - null
+ - Space-separated list of OAuth scopes to request
+
+ * - oauth.resource
+ - String
+ - No
+ - null
+ - The resource indicator for the token request (RFC 8707)
+
+**Token Exchange Properties**
+
+These properties are specific to the ``token_exchange`` flow:
+
+.. list-table::
+ :header-rows: 1
+
+ * - Parameter
+ - Type
+ - Required
+ - Default
+ - Description
+
+ * - oauth.exchange.subjectToken
+ - String
+ - Yes
+ - null
+ - The subject token to exchange (e.g., a JWT from an identity provider)
+
+ * - oauth.exchange.subjectTokenType
+ - String
+ - Yes
+ - null
+ - The token type URI of the subject token. Common values:
+ ``urn:ietf:params:oauth:token-type:access_token``,
+ ``urn:ietf:params:oauth:token-type:jwt``
+
+ * - oauth.exchange.actorToken
+ - String
+ - No
+ - null
+ - The actor token for delegation/impersonation scenarios
+
+ * - oauth.exchange.actorTokenType
+ - String
+ - No
+ - null
+ - The token type URI of the actor token
+
+ * - oauth.exchange.aud
+ - String
+ - No
+ - null
+ - The target audience for the exchanged token
+
+ * - oauth.exchange.requestedTokenType
+ - String
+ - No
+ - null
+ - The desired token type for the exchanged token
diff --git a/main/flight_sql_jdbc_driver.html b/main/flight_sql_jdbc_driver.html
index 57d4aaea4..0f379d070 100644
--- a/main/flight_sql_jdbc_driver.html
+++ b/main/flight_sql_jdbc_driver.html
@@ -412,6 +412,134 @@ DriverManager#getConnection()</a>,
the username and password supplied on the URI supercede the username and
password arguments to the function call.</p>
</section>
+<section id="oauth-2-0-authentication">
+<h2>OAuth 2.0 Authentication<a class="headerlink"
href="#oauth-2-0-authentication" title="Link to this heading">¶</a></h2>
+<p>The driver supports OAuth 2.0 authentication for obtaining access tokens
+from an authorization server. Two OAuth flows are currently supported:</p>
+<ul class="simple">
+<li><p><strong>Client Credentials</strong> - For service-to-service
authentication where no
+user interaction is required. The application authenticates using its own
+credentials (client ID and client secret).</p></li>
+<li><p><strong>Token Exchange</strong> (RFC 8693) - For exchanging one token
for another,
+commonly used for federated authentication, delegation, or impersonation
+scenarios.</p></li>
+</ul>
+<section id="oauth-connection-properties">
+<h3>OAuth Connection Properties<a class="headerlink"
href="#oauth-connection-properties" title="Link to this heading">¶</a></h3>
+<p>The following properties configure OAuth authentication. These properties
+should be provided via the <code class="docutils literal notranslate"><span
class="pre">Properties</span></code> object when connecting, as they
+may contain special characters that are difficult to encode in a URI.</p>
+<p><strong>Common OAuth Properties</strong></p>
+<div class="table-wrapper docutils container">
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Parameter</p></th>
+<th class="head"><p>Type</p></th>
+<th class="head"><p>Required</p></th>
+<th class="head"><p>Default</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>oauth.flow</p></td>
+<td><p>String</p></td>
+<td><p>Yes (to enable OAuth)</p></td>
+<td><p>null</p></td>
+<td><p>The OAuth grant type. Supported values: <code class="docutils literal
notranslate"><span class="pre">client_credentials</span></code>,
+<code class="docutils literal notranslate"><span
class="pre">token_exchange</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p>oauth.tokenUri</p></td>
+<td><p>String</p></td>
+<td><p>Yes</p></td>
+<td><p>null</p></td>
+<td><p>The OAuth 2.0 token endpoint URL (e.g.,
+<code class="docutils literal notranslate"><span
class="pre">https://auth.example.com/oauth/token</span></code>)</p></td>
+</tr>
+<tr class="row-even"><td><p>oauth.clientId</p></td>
+<td><p>String</p></td>
+<td><p>Conditional</p></td>
+<td><p>null</p></td>
+<td><p>The OAuth 2.0 client ID. Required for <code class="docutils literal
notranslate"><span class="pre">client_credentials</span></code> flow,
+optional for <code class="docutils literal notranslate"><span
class="pre">token_exchange</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p>oauth.clientSecret</p></td>
+<td><p>String</p></td>
+<td><p>Conditional</p></td>
+<td><p>null</p></td>
+<td><p>The OAuth 2.0 client secret. Required for <code class="docutils literal
notranslate"><span class="pre">client_credentials</span></code> flow,
+optional for <code class="docutils literal notranslate"><span
class="pre">token_exchange</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p>oauth.scope</p></td>
+<td><p>String</p></td>
+<td><p>No</p></td>
+<td><p>null</p></td>
+<td><p>Space-separated list of OAuth scopes to request</p></td>
+</tr>
+<tr class="row-odd"><td><p>oauth.resource</p></td>
+<td><p>String</p></td>
+<td><p>No</p></td>
+<td><p>null</p></td>
+<td><p>The resource indicator for the token request (RFC 8707)</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<p><strong>Token Exchange Properties</strong></p>
+<p>These properties are specific to the <code class="docutils literal
notranslate"><span class="pre">token_exchange</span></code> flow:</p>
+<div class="table-wrapper docutils container">
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Parameter</p></th>
+<th class="head"><p>Type</p></th>
+<th class="head"><p>Required</p></th>
+<th class="head"><p>Default</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>oauth.exchange.subjectToken</p></td>
+<td><p>String</p></td>
+<td><p>Yes</p></td>
+<td><p>null</p></td>
+<td><p>The subject token to exchange (e.g., a JWT from an identity
provider)</p></td>
+</tr>
+<tr class="row-odd"><td><p>oauth.exchange.subjectTokenType</p></td>
+<td><p>String</p></td>
+<td><p>Yes</p></td>
+<td><p>null</p></td>
+<td><p>The token type URI of the subject token. Common values:
+<code class="docutils literal notranslate"><span
class="pre">urn:ietf:params:oauth:token-type:access_token</span></code>,
+<code class="docutils literal notranslate"><span
class="pre">urn:ietf:params:oauth:token-type:jwt</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p>oauth.exchange.actorToken</p></td>
+<td><p>String</p></td>
+<td><p>No</p></td>
+<td><p>null</p></td>
+<td><p>The actor token for delegation/impersonation scenarios</p></td>
+</tr>
+<tr class="row-odd"><td><p>oauth.exchange.actorTokenType</p></td>
+<td><p>String</p></td>
+<td><p>No</p></td>
+<td><p>null</p></td>
+<td><p>The token type URI of the actor token</p></td>
+</tr>
+<tr class="row-even"><td><p>oauth.exchange.aud</p></td>
+<td><p>String</p></td>
+<td><p>No</p></td>
+<td><p>null</p></td>
+<td><p>The target audience for the exchanged token</p></td>
+</tr>
+<tr class="row-odd"><td><p>oauth.exchange.requestedTokenType</p></td>
+<td><p>String</p></td>
+<td><p>No</p></td>
+<td><p>null</p></td>
+<td><p>The desired token type for the exchanged token</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</section>
+</section>
</section>
</article>
@@ -472,6 +600,10 @@ password arguments to the function call.</p>
<li><a class="reference internal" href="#">Arrow Flight SQL JDBC Driver</a><ul>
<li><a class="reference internal"
href="#installation-and-requirements">Installation and Requirements</a></li>
<li><a class="reference internal" href="#connecting-to-a-database">Connecting
to a Database</a></li>
+<li><a class="reference internal" href="#oauth-2-0-authentication">OAuth 2.0
Authentication</a><ul>
+<li><a class="reference internal" href="#oauth-connection-properties">OAuth
Connection Properties</a></li>
+</ul>
+</li>
</ul>
</li>
</ul>
diff --git a/main/index.html b/main/index.html
index 994f05505..c2fb0c06e 100644
--- a/main/index.html
+++ b/main/index.html
@@ -343,6 +343,7 @@ on the Arrow format and other language bindings see the <a
class="reference inte
<li class="toctree-l1"><a class="reference internal"
href="flight_sql_jdbc_driver.html">Arrow Flight SQL JDBC Driver</a><ul>
<li class="toctree-l2"><a class="reference internal"
href="flight_sql_jdbc_driver.html#installation-and-requirements">Installation
and Requirements</a></li>
<li class="toctree-l2"><a class="reference internal"
href="flight_sql_jdbc_driver.html#connecting-to-a-database">Connecting to a
Database</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="flight_sql_jdbc_driver.html#oauth-2-0-authentication">OAuth 2.0
Authentication</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="dataset.html">Dataset</a><ul>
diff --git a/main/searchindex.js b/main/searchindex.js
index d3a972775..4023fa817 100644
--- a/main/searchindex.js
+++ b/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"Adding Services": [[6, "adding-services"]],
"Adding and removing vectors": [[18, "adding-and-removing-vectors"]],
"Allocation Details": [[13, "allocation-details"]], "Allocator Perspective":
[[13, "allocator-perspective"]], "Archery": [[3, "archery"], [3, "id4"]],
"Arrow Flight RPC": [[6, null]], "Arrow Flight SQL": [[7, null]], "Arrow Flight
SQL JDBC Driver": [[8, null]], "Arrow JDBC Adapter": [[12, null]], "Arrow Java
Modules": [[14, "id1"]], "Arrow Memo [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"Adding Services": [[6, "adding-services"]],
"Adding and removing vectors": [[18, "adding-and-removing-vectors"]],
"Allocation Details": [[13, "allocation-details"]], "Allocator Perspective":
[[13, "allocator-perspective"]], "Archery": [[3, "archery"], [3, "id4"]],
"Arrow Flight RPC": [[6, null]], "Arrow Flight SQL": [[7, null]], "Arrow Flight
SQL JDBC Driver": [[8, null]], "Arrow JDBC Adapter": [[12, null]], "Arrow Java
Modules": [[14, "id1"]], "Arrow Memo [...]
\ No newline at end of file