apache / apache/gravitino

[Improvement] Support client_secret_basic for OAuth 2.0 token requests

Open
#12,436 0 comments 0 reactions 0 assignees View on GitHub
improvement
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 16h
Merged PRs (30d)
298

Description

### What would you like to be improved?

The gravitino client implementations currently support only the `client_secret_post` authentication method when requesting an access token.

There is no option to use `client_secret_basic`, where the client credentials are sent through the HTTP Authorization header.

References:

- https://www.rfc-editor.org/rfc/rfc6749.html#section-2.3.1
- https://openid.net/specs/openid-connect-core-1_0-18.html#ClientAuthentication

### How should we improve?

Support configurable OAuth 2.0 token endpoint client authentication methods in both Java and Python clients or fetch the oidc configuration JSON before fetching access token.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Locate the Java and Python client implementations that request OAuth 2.0 access tokens, then inspect how client_secret_post is configured and how token endpoint authentication is selected. Done means both clients support client_secret_basic or obtain the method from OIDC configuration, with behavior covered by the relevant client tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, python
Domain
api, authentication
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.