$ the-wire · showcase
Spring Security adds configurable auth success handlers
By RepoJournal · Filed · About Spring
Spring Security's OAuth2 Resource Server now supports configurable authentication success handlers, and Spring Integration fixes several concurrency issues.
Spring Security's OAuth2ResourceServerSpec lacked a configurable ServerAuthenticationSuccessHandler; this addition corrects that oversight [1], and the reactive Kotlin DSL adds the same authenticationSuccessHandler option [2][3], with What's New updated [4]. Spring Integration fixes a race in remote file GET where generateLocalDirectory() used a non-atomic exists()/mkdirs() sequence; concurrent messages resolving to the same not-yet-existing local directory could fail [5]. It also modifies the NIO client selector to clear the active flag before closing, so a normal stop does not log ClosedSelectorException at ERROR [6]. A Python service activator test, previously disabled because Graal Python crashed when printing a Java Date, is turned back on after the GraalVM update to 25.3.4.1 includes the fix; the GraalVM upgrade from 25.2.4 is included [7]. Tests were updated to drop guessed separator counts in path assertions, a fix that was wrong on Linux/macOS [8]. In Spring AMQP, the default container factory bean name is now applied before RabbitListenerConfigurer instances run, so configurers can override it; previously, afterSingletonsInstantiated overwrote a configurer-set name [9][10]. Spring Boot refactors internal version handling by dropping LibraryVersion and introducing LinkedVersion [11].
Action items
- → Review Spring Security resource server configuration to use the new authenticationSuccessHandler spring-projects/spring-security [monitor]
- → Test remote file GET flows with local-directory-expression for the race fix spring-projects/spring-integration [plan]
- → Check Spring AMQP listener configurer overrides for container factory names spring-projects/spring-amqp [plan]
References
- [1] Make authenticationSuccessHandler Configurable in Resource Server DSL ↗ spring-projects/spring-security
- [2] Add authenticationSuccessHandler to Reactive Resource Server Kotlin DSL ↗ spring-projects/spring-security
- [3] Add authenticationSuccessHandler to Reactive Resource Server DSL ↗ spring-projects/spring-security
- [4] Update What's New ↗ spring-projects/spring-security
- [5] GH-11277: Fix local directory creation race in remote file GET ↗ spring-projects/spring-integration
- [6] GH-11269: Clear active flag before closing client NIO selector ↗ spring-projects/spring-integration
- [7] GH-11261: Turn the Python service activator test back on ↗ spring-projects/spring-integration
- [8] GH-11277: Drop guessed separator counts from path assertions ↗ spring-projects/spring-integration
- [9] GH-3604: Apply default container factory name before configurers ↗ spring-projects/spring-amqp
- [10] GH-3604: Apply default container factory name before configurers ↗ spring-projects/spring-amqp
- [11] Drop `LibraryVersion` and introduce `LinkedVersion` ↗ spring-projects/spring-boot