apache / apache/gravitino

[FEATURE] Gravitino Authenticator support Basic Authentication

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

Description

### Describe the feature

add a new Authenticator named BasicAuthenticator

### Motivation

Gravitino server supports three authenticators: OAuth2TokenAuthenticator,SimpleAuthenticator and KerberosAuthenticator.
SimpleAuthenticator does not authenticate the user and only uses the username,while kerberos and oauth2 needs external service.
Basic authentication is a method for an HTTP user agent to provide a user name and password when making a request, and doesn't need external service.

### Describe the solution

BasicAuthenticator control access using HTTP Basic authentication, By configuring the path to the password file, you can easily use it.

### Additional context

### Does this PR introduce any user-facing change?
Yes, add the config options

> gravitino.authenticators.basic.userFilePath

### How was this patch tested?
UT

### Effect picture display
![Image](https://github.com/user-attachments/assets/2596dc69-dd36-45b1-8c39-a4fd18f4e363)

Image

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing OAuth2TokenAuthenticator, SimpleAuthenticator, and KerberosAuthenticator implementations and their unit tests. Trace how authenticator configuration is read, then review the requested gravitino.authenticators.basic.userFilePath option. Done means a BasicAuthenticator supports HTTP Basic authentication using the configured password file and has passing unit tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authentication
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.