[FEATURE]Support passing complete request object for authentication signature
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 935
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 315
Description
### Describe the feature
In the authentication process, both the client and server need access to the complete request object (including method, path, headers, and body) in order to generate and verify signatures. This helps prevent man-in-the-middle attacks by ensuring the integrity of the request.
Additionally, depending on the signature method used by the client, some extra headers may be added to the request and need to be passed to the server for verification.
### Motivation
Currently, the authentication process may not cover the entire request object, which could leave room for certain types of attacks (e.g., replay or tampering). By signing the full request and verifying it on the server side, we can greatly improve security and ensure that the request has not been altered in transit.
Supporting additional headers for different signature schemes also increases flexibility for clients.
### Describe the solution
_No response_
### Additional context
_No response_
Contributor guide
Research direction
No files, tests, or entry points are named. Start by tracing authentication request handling on both client and server, then identify how signatures and additional headers are currently passed and verified. Done means the complete method, path, headers, and body can be signed and verified consistently without leaving the required signature-scheme headers out.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authentication, backend-api-design, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100