lasdf1234 opened a new pull request, #11497:
URL: https://github.com/apache/gravitino/pull/11497

   ## Summary
   
   - Add `IdpConfigurationValidator` to reject incompatible server 
configuration when the built-in IdP plugin starts.
   - Fail startup if `gravitino.authorization.enable=true` and 
`gravitino.authenticators` includes `simple` (including the default value).
   - Wire validation into `IdpRESTFeature.configure()` before IdP registers 
HTTP Basic authentication.
   
   ## Why are the changes needed?
   
   Enabling built-in IdP (`gravitino.server.rest.extensionPackages = 
org.apache.gravitino.idp.web.rest.feature`) together with Simple authentication 
and authorization leads to broken Web UI login: the IdP plugin injects HTTP 
Basic authentication ahead of Simple, while Web v2 sends username-only Basic 
credentials.
   
   This change fails fast at startup with a clear error instead of leaving 
operators with a running server and a non-functional UI.
   
   Fix: #11409
   
   ## Does this PR introduce any user-facing change?
   
   Yes. Server startup now fails with `IllegalStateException` when built-in IdP 
is enabled with authorization and Simple authentication (explicit or default). 
Operators must remove `simple` from `gravitino.authenticators` or disable 
`gravitino.authorization.enable`.
   
   ## Test plan
   
   - [x] `./gradlew :plugins:idp-basic:test -PskipITs -PskipDockerTests=true 
--tests org.apache.gravitino.idp.config.TestIdpConfigurationValidator`
   - [x] `./gradlew spotlessApply`
   
   
   Made with [Cursor](https://cursor.com)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to