whats-new.adoc 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. [[new]]
  2. == What's New in Spring Security 5.1
  3. Spring Security 5.1 provides a number of new features.
  4. Below are the highlights of the release.
  5. === Servlet
  6. * {gh-samples-url}/boot/oauth2webclient[OAuth 2.0 Client]
  7. ** Customizable Authorize and Token requests
  8. ** `authorization_code` grant support
  9. ** `client_credentials` grant support
  10. * OAuth 2.0 Resource Server - support for {gh-samples-url}/boot/oauth2resourceserver[JWT-encoded bearer tokens]
  11. * {gh-samples-url}/boot/oauth2webclient[OAuth 2.0 Web Client Extensions] - Supports `authorization_code`, `client_credentials`, and `refresh_token` grants
  12. * <<request-matching>> - Protection against HTTP Verb Tampering and Cross-site Tracing
  13. * <<exception-translation-filter>> - Support for selecting an `AccessDeniedHandler` by `RequestMatcher`
  14. * <<csrf>> - Support for disabling csrf by `RequestMatcher`
  15. * <<headers-feature>>
  16. * <<session-mgmt>> - Support for `@Transient` authentication tokens
  17. * A modern look-and-feel for the default log in page
  18. === WebFlux
  19. * Added <<webflux-oauth2,OAuth2>> support
  20. ** Added <<webflux-oauth2-client,OAuth2 Client>> support
  21. ** Added<<webflux-oauth2-resource-server,OAuth2 Resource Server>> support
  22. ** Added OAuth2 <<webclient,WebClient>> integration
  23. * <<test-method>> - `@WithUserDetails` now works with `ReactiveUserDetailsService`
  24. * <<cors>> - Support for CORS was added
  25. * Added support for the following <<webflux-headers,HTTP headers>>
  26. ** <<webflux-headers-csp,Content Security Policy>>
  27. ** <<webflux-headers-feature,Feature Policy>>
  28. ** <<webflux-headers-referrer,Referrer Policy>>
  29. * Support for redirecting to HTTPS
  30. === Integrations
  31. * <<core-services-password-encoding>> - New service to support password upgrades
  32. * <<jackson>> - Support for `BadCredentialsException`
  33. * <<test-method>> - Support for customizing when the `SecurityContext` is setup in the test.
  34. For example, `@WithMockUser(setupBefore = TestExecutionEvent.TEST_EXECUTION)` will setup a user after JUnit's `@Before` and before the test executes.
  35. * <<ldap>> - Support for setting up an `LdapContext` from custom environment variables
  36. * <<x509>> - Support for deriving the X.509 principal via a strategy
  37. * <<mvc-authentication-principal>>
  38. ** Support for resolving beans in WebFlux (support already exists for Spring MVC)
  39. ** Support for resolving `errorOnInvalidType` in WebFlux (support already exists for Spring MVC)