Upgrade to Spring Boot 4.0 #18
Reference in New Issue
Block a user
Delete Branch "spring-boot-4.0"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The new "modular design" required a few changes in the starter Maven dependencies. It also caused some minor Java import changes. The main problem that arose was that the spring-boot-web-server dependency got scoped to "runtime" in Maven. This broke the embedded Docker build since it was excluded from dependency lists. Therefore, it had to be manually added back in the correct "provided" scope.
spring-boot-starter-web, JTE, and Testcontainers had new artifact names. Jackson had to be added as an explicit dependency (for testing only) since it's no longer included by default in Spring Boot.
Spring Boot OAuth 2.0 Authorization Server
There were some internal changes that broke the "custom" developer authorization. The
OAuth2AuthorizationEndpointFiltergot split into two separate ones (for MFA purposes), and the split off one is executed much much earlier in the chain. Therefore, the old method of changing the HTTP method of the request to trick the regular filter from the custom one no longer works. Luckily an unrelated change had added POST support to theOAuth2AuthorizationEndpointFilterwhich meant we could stop changing the HTTP method and change the form to submit everything as form fields instead of query parameters. A lot of mechanical changes in the tests were required for this.MFA support also meant that OIDC ID tokens require the authenticated principal to have a
FactorGrantedAuthoritywhich was added to the Shibboleth authentication.@@ -75,1 +81,4 @@</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webmvc-test</artifactId>Shouldn't this be
<scope>test</scope>?