[FEATURE] Gravitino Authenticator support Basic Authentication
- 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

Contributor 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