Skip to content

Commit 3ef203a

Browse files
ngocnhan-tran1996jzheaux
authored andcommitted
Make RelyingPartyRegistration Serializable
Closes gh-16286
1 parent 67c1438 commit 3ef203a

7 files changed

+24
-5
lines changed

config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java

+10
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,8 @@
178178
import org.springframework.security.oauth2.server.resource.introspection.OAuth2IntrospectionException;
179179
import org.springframework.security.saml2.Saml2Exception;
180180
import org.springframework.security.saml2.core.Saml2Error;
181+
import org.springframework.security.saml2.core.Saml2X509Credential;
182+
import org.springframework.security.saml2.credentials.TestSaml2X509Credentials;
181183
import org.springframework.security.saml2.provider.service.authentication.DefaultSaml2AuthenticatedPrincipal;
182184
import org.springframework.security.saml2.provider.service.authentication.Saml2Authentication;
183185
import org.springframework.security.saml2.provider.service.authentication.Saml2AuthenticationException;
@@ -186,6 +188,9 @@
186188
import org.springframework.security.saml2.provider.service.authentication.TestSaml2Authentications;
187189
import org.springframework.security.saml2.provider.service.authentication.TestSaml2PostAuthenticationRequests;
188190
import org.springframework.security.saml2.provider.service.authentication.TestSaml2RedirectAuthenticationRequests;
191+
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration;
192+
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration.AssertingPartyDetails;
193+
import org.springframework.security.saml2.provider.service.registration.TestRelyingPartyRegistrations;
189194
import org.springframework.security.web.PortResolverImpl;
190195
import org.springframework.security.web.authentication.WebAuthenticationDetails;
191196
import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken;
@@ -507,6 +512,11 @@ class SpringSecurityCoreVersionSerializableTests {
507512
(r) -> TestSaml2PostAuthenticationRequests.create());
508513
generatorByClassName.put(Saml2RedirectAuthenticationRequest.class,
509514
(r) -> TestSaml2RedirectAuthenticationRequests.create());
515+
generatorByClassName.put(Saml2X509Credential.class,
516+
(r) -> TestSaml2X509Credentials.relyingPartyVerifyingCredential());
517+
generatorByClassName.put(AssertingPartyDetails.class,
518+
(r) -> TestRelyingPartyRegistrations.full().build().getAssertingPartyMetadata());
519+
generatorByClassName.put(RelyingPartyRegistration.class, (r) -> TestRelyingPartyRegistrations.full().build());
510520

511521
// web
512522
generatorByClassName.put(AnonymousAuthenticationToken.class, (r) -> {

saml2/saml2-service-provider/src/main/java/org/springframework/security/saml2/core/Saml2X509Credential.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2020 the original author or authors.
2+
* Copyright 2002-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.security.saml2.core;
1818

19+
import java.io.Serializable;
1920
import java.security.PrivateKey;
2021
import java.security.cert.X509Certificate;
2122
import java.util.Arrays;
@@ -35,7 +36,9 @@
3536
* @author Josh Cummings
3637
* @since 5.4
3738
*/
38-
public final class Saml2X509Credential {
39+
public final class Saml2X509Credential implements Serializable {
40+
41+
private static final long serialVersionUID = -1015853414272603517L;
3942

4043
private final PrivateKey privateKey;
4144

saml2/saml2-service-provider/src/main/java/org/springframework/security/saml2/provider/service/registration/AssertingPartyMetadata.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.security.saml2.provider.service.registration;
1818

19+
import java.io.Serializable;
1920
import java.util.Collection;
2021
import java.util.List;
2122
import java.util.function.Consumer;
@@ -28,7 +29,7 @@
2829
* @author Josh Cummings
2930
* @since 6.4
3031
*/
31-
public interface AssertingPartyMetadata {
32+
public interface AssertingPartyMetadata extends Serializable {
3233

3334
/**
3435
* Get the asserting party's <a href=

saml2/saml2-service-provider/src/main/java/org/springframework/security/saml2/provider/service/registration/RelyingPartyRegistration.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2023 the original author or authors.
2+
* Copyright 2002-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.security.saml2.provider.service.registration;
1818

19+
import java.io.Serializable;
1920
import java.util.ArrayList;
2021
import java.util.Collection;
2122
import java.util.Collections;
@@ -66,7 +67,9 @@
6667
* @author Josh Cummings
6768
* @since 5.2
6869
*/
69-
public class RelyingPartyRegistration {
70+
public class RelyingPartyRegistration implements Serializable {
71+
72+
private static final long serialVersionUID = -2718908121120942813L;
7073

7174
private final String registrationId;
7275

@@ -456,6 +459,8 @@ public static Builder withRelyingPartyRegistration(RelyingPartyRegistration regi
456459
*/
457460
public static class AssertingPartyDetails implements AssertingPartyMetadata {
458461

462+
private static final long serialVersionUID = 8728930758311995475L;
463+
459464
private final String entityId;
460465

461466
private final boolean wantAuthnRequestsSigned;

0 commit comments

Comments
 (0)