diff --git a/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java b/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java index 359a7d48809..7c9b4cdf894 100644 --- a/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java +++ b/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java @@ -121,6 +121,7 @@ import org.springframework.security.oauth2.client.oidc.session.OidcSessionInformation; import org.springframework.security.oauth2.client.oidc.session.TestOidcSessionInformations; import org.springframework.security.oauth2.client.registration.ClientRegistration; +import org.springframework.security.oauth2.client.registration.ClientRegistration.ClientSettings; import org.springframework.security.oauth2.client.registration.TestClientRegistrations; import org.springframework.security.oauth2.core.DefaultOAuth2AuthenticatedPrincipal; import org.springframework.security.oauth2.core.OAuth2AccessToken; @@ -239,11 +240,12 @@ class SpringSecurityCoreVersionSerializableTests { (r) -> new ReactiveSessionInformation(user, r.alphanumeric(4), Instant.ofEpochMilli(1704378933936L))); generatorByClassName.put(OAuth2AccessToken.class, (r) -> TestOAuth2AccessTokens.scopes("scope")); generatorByClassName.put(OAuth2DeviceCode.class, - (r) -> new OAuth2DeviceCode("token", Instant.now(), Instant.now())); + (r) -> new OAuth2DeviceCode("token", Instant.now(), Instant.now().plusSeconds(1))); generatorByClassName.put(OAuth2RefreshToken.class, - (r) -> new OAuth2RefreshToken("refreshToken", Instant.now(), Instant.now())); + (r) -> new OAuth2RefreshToken("refreshToken", Instant.now(), Instant.now().plusSeconds(1))); generatorByClassName.put(OAuth2UserCode.class, - (r) -> new OAuth2UserCode("token", Instant.now(), Instant.now())); + (r) -> new OAuth2UserCode("token", Instant.now(), Instant.now().plusSeconds(1))); + generatorByClassName.put(ClientSettings.class, (r) -> ClientSettings.builder().build()); generatorByClassName.put(DefaultOidcUser.class, (r) -> TestOidcUsers.create()); generatorByClassName.put(OidcUserAuthority.class, (r) -> new OidcUserAuthority(TestOidcIdTokens.idToken().build(), diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClient.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClient.serialized new file mode 100644 index 00000000000..9c6c667a11a Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.OAuth2AuthorizedClient.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized new file mode 100644 index 00000000000..2fc9de7065d Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.authentication.OAuth2AuthorizationCodeAuthenticationToken.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken.serialized new file mode 100644 index 00000000000..5d1c909a791 Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationToken.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration$Builder.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration$Builder.serialized new file mode 100644 index 00000000000..5db839c1aba Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration$Builder.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration$ClientSettings.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration$ClientSettings.serialized new file mode 100644 index 00000000000..14e74db3b46 Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration$ClientSettings.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration.serialized new file mode 100644 index 00000000000..9eb1e5f751c Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.client.registration.ClientRegistration.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2DeviceCode.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2DeviceCode.serialized new file mode 100644 index 00000000000..8a382b26102 Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2DeviceCode.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2RefreshToken.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2RefreshToken.serialized new file mode 100644 index 00000000000..aad2554caee Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2RefreshToken.serialized differ diff --git a/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2UserCode.serialized b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2UserCode.serialized new file mode 100644 index 00000000000..a3fd001c786 Binary files /dev/null and b/config/src/test/resources/serialized/6.5.x/org.springframework.security.oauth2.core.OAuth2UserCode.serialized differ diff --git a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/ClientRegistration.java b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/ClientRegistration.java index 0b4179ff03e..b492a6d8015 100644 --- a/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/ClientRegistration.java +++ b/oauth2/oauth2-client/src/main/java/org/springframework/security/oauth2/client/registration/ClientRegistration.java @@ -16,6 +16,7 @@ package org.springframework.security.oauth2.client.registration; +import java.io.Serial; import java.io.Serializable; import java.util.Arrays; import java.util.Collection; @@ -748,7 +749,10 @@ private static boolean withinTheRangeOf(int c, int min, int max) { * @author DingHao * @since 6.5 */ - public static final class ClientSettings { + public static final class ClientSettings implements Serializable { + + @Serial + private static final long serialVersionUID = 7495627155437124692L; private boolean requireProofKey;