Add shouldConvertGetRequests Migration Steps

Issue gh-17099
This commit is contained in:
Josh Cummings 2025-06-03 12:19:56 -06:00
parent 8953f464fb
commit 4ed131f6ab

View File

@ -78,3 +78,42 @@ fun jwtDecoder(): JwtDecoder {
======
<1> - `validateTypes` now defaults to `false`
<2> - `JwtTypeValidator#jwt` is added by all `createDefaultXXX` methods
== Do Not Process `<saml2:Response>` GET Requests with `Saml2AuthenticationTokenConverter`
Spring Security does not support processing `<saml2:Response>` payloads over GET as this is not supported by the SAML 2.0 spec.
To better comply with this, `Saml2AuthenticationTokenConverter` will not process GET requests by default as of Spring Security 8.
To prepare for this, the property `shouldConvertGetRequests` is available.
To use it, publish your own `Saml2AuthenticationTokenConverter` like so:
[tabs]
======
Java::
+
[source,java,role="primary"]
----
@Bean
Saml2AuthenticationTokenConverter authenticationConverter(RelyingPartyRegistrationRepository registrations) {
Saml2AuhenticationTokenConverter authenticationConverter = new Saml2AuthenticationTokenConverter(
new DefaultRelyingPartyRegistrationResolver(registrations));
authenticationConverter.setShouldConvertGetRequests(false);
return authenticationConverter;
}
----
Kotlin::
+
[source,kotlin,role="secondary"]
----
@Bean
fun authenticationConverter(val registrations: RelyingPartyRegistrationRepository): Saml2AuthenticationTokenConverter {
val authenticationConverter = new Saml2AuthenticationTokenConverter(
DefaultRelyingPartyRegistrationResolver(registrations))
authenticationConverter.setShouldConvertGetRequests(false)
return authenticationConverter
}
----
======
If you must continue using `Saml2AuthenticationTokenConverter` to process GET requests, you can call `setShouldConvertGetRequests` to `true.`