apache / apache/arrow-adbc

[ADBC] Support OAuth2 authentication in Flight SQL Java driver

Open
#4,277 0 comments 0 reactions 0 assignees View on GitHub
Type: enhancement
Dominant language
C#
Stars
627
Forks
217
Avg merge
17h
Merged PRs (30d)
57

Description

### What feature or improvement would you like to see?

## Background

The Java Flight SQL driver currently supports basic authentication and custom authorization headers.

## Problem

OAuth2 is commonly used for authentication in many deployments (e.g., via providers such as Keycloak or cloud IAM systems). However, the Java Flight SQL driver does not currently provide a standardized mechanism to configure OAuth2-based authentication (e.g., client credentials flow).

## Proposal

Introduce initial support for OAuth2 authentication in the Java Flight SQL driver:

- Add connection options for configuring OAuth2 parameters (e.g., token endpoint, client credentials, grant type)
- Introduce a token provider abstraction responsible for acquiring and refreshing access tokens
- Automatically attach the `Authorization: Bearer ` header to Flight requests

## Scope

This proposal focuses on the Java Flight SQL driver as an initial implementation. It does not introduce changes to other ADBC drivers at this stage.

## Open Questions

- Should OAuth2 support be standardized across ADBC drivers?
- If so, should a common abstraction be introduced at the ADBC layer?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.