Skip to content

Commit 944bc84

Browse files
Remove RelyingPartyRegistration deprecations
Signed-off-by: Tran Ngoc Nhan <[email protected]>
1 parent 08cbdb4 commit 944bc84

File tree

37 files changed

+201
-290
lines changed

37 files changed

+201
-290
lines changed

config/src/test/java/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LoginConfigurerTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2022 the original author or authors.
2+
* Copyright 2002-2025 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.
@@ -134,7 +134,7 @@ public class Saml2LoginConfigurerTests {
134134

135135
private static final RelyingPartyRegistration registration = TestRelyingPartyRegistrations.noCredentials()
136136
.signingX509Credentials((c) -> c.add(TestSaml2X509Credentials.assertingPartySigningCredential()))
137-
.assertingPartyDetails((party) -> party
137+
.assertingPartyMetadata((party) -> party
138138
.verificationX509Credentials((c) -> c.add(TestSaml2X509Credentials.relyingPartyVerifyingCredential())))
139139
.build();
140140

@@ -170,7 +170,7 @@ public class Saml2LoginConfigurerTests {
170170
@BeforeAll
171171
static void createResponse() throws Exception {
172172
String destination = registration.getAssertionConsumerServiceLocation();
173-
String assertingPartyEntityId = registration.getAssertingPartyDetails().getEntityId();
173+
String assertingPartyEntityId = registration.getAssertingPartyMetadata().getEntityId();
174174
String relyingPartyEntityId = registration.getEntityId();
175175
Response response = TestOpenSamlObjects.response(destination, assertingPartyEntityId);
176176
Assertion assertion = TestOpenSamlObjects.assertion("[email protected]", assertingPartyEntityId,
@@ -365,7 +365,7 @@ public void authenticationRequestWhenCustomAuthenticationRequestPathRepositoryTh
365365
request.queryParam("entityId", registration.getRegistrationId());
366366
MvcResult result = this.mvc.perform(request).andExpect(status().isFound()).andReturn();
367367
String redirectedUrl = result.getResponse().getRedirectedUrl();
368-
assertThat(redirectedUrl).startsWith(registration.getAssertingPartyDetails().getSingleSignOnServiceLocation());
368+
assertThat(redirectedUrl).startsWith(registration.getAssertingPartyMetadata().getSingleSignOnServiceLocation());
369369
}
370370

371371
@Test

config/src/test/java/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LogoutConfigurerTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -731,14 +731,14 @@ RelyingPartyRegistrationRepository relyingPartyRegistrationRepository() {
731731
Saml2X509Credential verification = TestSaml2X509Credentials.relyingPartyVerifyingCredential();
732732
RelyingPartyRegistration.Builder withCreds = TestRelyingPartyRegistrations.noCredentials()
733733
.signingX509Credentials(credential(signing))
734-
.assertingPartyDetails((party) -> party.verificationX509Credentials(credential(verification)));
734+
.assertingPartyMetadata((party) -> party.verificationX509Credentials(credential(verification)));
735735
RelyingPartyRegistration post = withCreds.build();
736736
RelyingPartyRegistration get = withCreds.registrationId("get")
737737
.singleLogoutServiceBinding(Saml2MessageBinding.REDIRECT)
738738
.build();
739739
RelyingPartyRegistration ap = withCreds.registrationId("ap")
740740
.entityId("ap-entity-id")
741-
.assertingPartyDetails(
741+
.assertingPartyMetadata(
742742
(party) -> party.singleLogoutServiceLocation("https://rp.example.org/logout/saml2/request")
743743
.singleLogoutServiceResponseLocation("https://rp.example.org/logout/saml2/response"))
744744
.build();

config/src/test/java/org/springframework/security/config/http/Saml2LoginBeanDefinitionParserTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2022 the original author or authors.
2+
* Copyright 2002-2025 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.
@@ -98,7 +98,7 @@ public class Saml2LoginBeanDefinitionParserTests {
9898

9999
private static final RelyingPartyRegistration registration = TestRelyingPartyRegistrations.noCredentials()
100100
.signingX509Credentials((c) -> c.add(TestSaml2X509Credentials.assertingPartySigningCredential()))
101-
.assertingPartyDetails((party) -> party
101+
.assertingPartyMetadata((party) -> party
102102
.verificationX509Credentials((c) -> c.add(TestSaml2X509Credentials.relyingPartyVerifyingCredential())))
103103
.build();
104104

@@ -141,7 +141,7 @@ public class Saml2LoginBeanDefinitionParserTests {
141141
@BeforeAll
142142
static void createResponse() throws Exception {
143143
String destination = registration.getAssertionConsumerServiceLocation();
144-
String assertingPartyEntityId = registration.getAssertingPartyDetails().getEntityId();
144+
String assertingPartyEntityId = registration.getAssertingPartyMetadata().getEntityId();
145145
String relyingPartyEntityId = registration.getEntityId();
146146
Response response = TestOpenSamlObjects.response(destination, assertingPartyEntityId);
147147
Assertion assertion = TestOpenSamlObjects.assertion("[email protected]", assertingPartyEntityId,

config/src/test/java/org/springframework/security/config/saml2/RelyingPartyRegistrationsBeanDefinitionParserTests.java

Lines changed: 28 additions & 30 deletions
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-2025 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.
@@ -31,6 +31,7 @@
3131
import org.springframework.mock.web.MockHttpServletRequest;
3232
import org.springframework.security.config.test.SpringTestContext;
3333
import org.springframework.security.config.test.SpringTestContextExtension;
34+
import org.springframework.security.saml2.provider.service.registration.AssertingPartyMetadata;
3435
import org.springframework.security.saml2.provider.service.registration.InMemoryRelyingPartyRegistrationRepository;
3536
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration;
3637
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository;
@@ -151,24 +152,23 @@ public void parseWhenMetadataLocationConfiguredThenRequestMetadataFromLocation()
151152
.isInstanceOf(InMemoryRelyingPartyRegistrationRepository.class);
152153
RelyingPartyRegistration relyingPartyRegistration = this.relyingPartyRegistrationRepository
153154
.findByRegistrationId("one");
154-
RelyingPartyRegistration.AssertingPartyDetails assertingPartyDetails = relyingPartyRegistration
155-
.getAssertingPartyDetails();
155+
AssertingPartyMetadata assertingPartyMetadata = relyingPartyRegistration.getAssertingPartyMetadata();
156156
assertThat(relyingPartyRegistration).isNotNull();
157157
assertThat(relyingPartyRegistration.getRegistrationId()).isEqualTo("one");
158158
assertThat(relyingPartyRegistration.getEntityId())
159159
.isEqualTo("{baseUrl}/saml2/service-provider-metadata/{registrationId}");
160160
assertThat(relyingPartyRegistration.getAssertionConsumerServiceLocation())
161161
.isEqualTo("{baseUrl}/login/saml2/sso/{registrationId}");
162162
assertThat(relyingPartyRegistration.getAssertionConsumerServiceBinding()).isEqualTo(Saml2MessageBinding.POST);
163-
assertThat(assertingPartyDetails.getEntityId())
163+
assertThat(assertingPartyMetadata.getEntityId())
164164
.isEqualTo("https://simplesaml-for-spring-saml.apps.pcfone.io/saml2/idp/metadata.php");
165-
assertThat(assertingPartyDetails.getWantAuthnRequestsSigned()).isFalse();
166-
assertThat(assertingPartyDetails.getVerificationX509Credentials()).hasSize(1);
167-
assertThat(assertingPartyDetails.getEncryptionX509Credentials()).hasSize(1);
168-
assertThat(assertingPartyDetails.getSingleSignOnServiceLocation())
165+
assertThat(assertingPartyMetadata.getWantAuthnRequestsSigned()).isFalse();
166+
assertThat(assertingPartyMetadata.getVerificationX509Credentials()).hasSize(1);
167+
assertThat(assertingPartyMetadata.getEncryptionX509Credentials()).hasSize(1);
168+
assertThat(assertingPartyMetadata.getSingleSignOnServiceLocation())
169169
.isEqualTo("https://simplesaml-for-spring-saml.apps.pcfone.io/saml2/idp/SSOService.php");
170-
assertThat(assertingPartyDetails.getSingleSignOnServiceBinding()).isEqualTo(Saml2MessageBinding.REDIRECT);
171-
assertThat(assertingPartyDetails.getSigningAlgorithms())
170+
assertThat(assertingPartyMetadata.getSingleSignOnServiceBinding()).isEqualTo(Saml2MessageBinding.REDIRECT);
171+
assertThat(assertingPartyMetadata.getSigningAlgorithms())
172172
.containsExactly("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
173173
}
174174

@@ -186,24 +186,23 @@ public void parseWhenMetadataLocationConfiguredAndRegistrationHasPropertiesThenD
186186
.isInstanceOf(InMemoryRelyingPartyRegistrationRepository.class);
187187
RelyingPartyRegistration relyingPartyRegistration = this.relyingPartyRegistrationRepository
188188
.findByRegistrationId("one");
189-
RelyingPartyRegistration.AssertingPartyDetails assertingPartyDetails = relyingPartyRegistration
190-
.getAssertingPartyDetails();
189+
AssertingPartyMetadata assertingPartyMetadata = relyingPartyRegistration.getAssertingPartyMetadata();
191190
assertThat(relyingPartyRegistration).isNotNull();
192191
assertThat(relyingPartyRegistration.getRegistrationId()).isEqualTo("one");
193192
assertThat(relyingPartyRegistration.getEntityId()).isEqualTo("https://rp.example.org");
194193
assertThat(relyingPartyRegistration.getAssertionConsumerServiceLocation())
195194
.isEqualTo("https://rp.example.org/location");
196195
assertThat(relyingPartyRegistration.getAssertionConsumerServiceBinding())
197196
.isEqualTo(Saml2MessageBinding.REDIRECT);
198-
assertThat(assertingPartyDetails.getEntityId())
197+
assertThat(assertingPartyMetadata.getEntityId())
199198
.isEqualTo("https://simplesaml-for-spring-saml.apps.pcfone.io/saml2/idp/metadata.php");
200-
assertThat(assertingPartyDetails.getWantAuthnRequestsSigned()).isFalse();
201-
assertThat(assertingPartyDetails.getVerificationX509Credentials()).hasSize(1);
202-
assertThat(assertingPartyDetails.getEncryptionX509Credentials()).hasSize(1);
203-
assertThat(assertingPartyDetails.getSingleSignOnServiceLocation())
199+
assertThat(assertingPartyMetadata.getWantAuthnRequestsSigned()).isFalse();
200+
assertThat(assertingPartyMetadata.getVerificationX509Credentials()).hasSize(1);
201+
assertThat(assertingPartyMetadata.getEncryptionX509Credentials()).hasSize(1);
202+
assertThat(assertingPartyMetadata.getSingleSignOnServiceLocation())
204203
.isEqualTo("https://simplesaml-for-spring-saml.apps.pcfone.io/saml2/idp/SSOService.php");
205-
assertThat(assertingPartyDetails.getSingleSignOnServiceBinding()).isEqualTo(Saml2MessageBinding.REDIRECT);
206-
assertThat(assertingPartyDetails.getSigningAlgorithms())
204+
assertThat(assertingPartyMetadata.getSingleSignOnServiceBinding()).isEqualTo(Saml2MessageBinding.REDIRECT);
205+
assertThat(assertingPartyMetadata.getSigningAlgorithms())
207206
.containsExactly("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
208207
}
209208

@@ -214,8 +213,7 @@ public void parseWhenSingleRelyingPartyRegistrationThenAvailableInRepository() {
214213
.isInstanceOf(InMemoryRelyingPartyRegistrationRepository.class);
215214
RelyingPartyRegistration relyingPartyRegistration = this.relyingPartyRegistrationRepository
216215
.findByRegistrationId("one");
217-
RelyingPartyRegistration.AssertingPartyDetails assertingPartyDetails = relyingPartyRegistration
218-
.getAssertingPartyDetails();
216+
AssertingPartyMetadata assertingPartyMetadata = relyingPartyRegistration.getAssertingPartyMetadata();
219217
assertThat(relyingPartyRegistration).isNotNull();
220218
assertThat(relyingPartyRegistration.getRegistrationId()).isEqualTo("one");
221219
assertThat(relyingPartyRegistration.getEntityId())
@@ -224,14 +222,14 @@ public void parseWhenSingleRelyingPartyRegistrationThenAvailableInRepository() {
224222
.isEqualTo("{baseUrl}/login/saml2/sso/{registrationId}");
225223
assertThat(relyingPartyRegistration.getAssertionConsumerServiceBinding())
226224
.isEqualTo(Saml2MessageBinding.REDIRECT);
227-
assertThat(assertingPartyDetails.getEntityId()).isEqualTo("https://accounts.google.com/o/saml2/idp/entity-id");
228-
assertThat(assertingPartyDetails.getWantAuthnRequestsSigned()).isTrue();
229-
assertThat(assertingPartyDetails.getSingleSignOnServiceLocation())
225+
assertThat(assertingPartyMetadata.getEntityId()).isEqualTo("https://accounts.google.com/o/saml2/idp/entity-id");
226+
assertThat(assertingPartyMetadata.getWantAuthnRequestsSigned()).isTrue();
227+
assertThat(assertingPartyMetadata.getSingleSignOnServiceLocation())
230228
.isEqualTo("https://accounts.google.com/o/saml2/idp/sso-url");
231-
assertThat(assertingPartyDetails.getSingleSignOnServiceBinding()).isEqualTo(Saml2MessageBinding.POST);
232-
assertThat(assertingPartyDetails.getVerificationX509Credentials()).hasSize(1);
233-
assertThat(assertingPartyDetails.getEncryptionX509Credentials()).hasSize(1);
234-
assertThat(assertingPartyDetails.getSigningAlgorithms())
229+
assertThat(assertingPartyMetadata.getSingleSignOnServiceBinding()).isEqualTo(Saml2MessageBinding.POST);
230+
assertThat(assertingPartyMetadata.getVerificationX509Credentials()).hasSize(1);
231+
assertThat(assertingPartyMetadata.getEncryptionX509Credentials()).hasSize(1);
232+
assertThat(assertingPartyMetadata.getSigningAlgorithms())
235233
.containsExactly("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
236234
}
237235

@@ -241,9 +239,9 @@ public void parseWhenMultiRelyingPartyRegistrationThenAvailableInRepository() {
241239
assertThat(this.relyingPartyRegistrationRepository)
242240
.isInstanceOf(InMemoryRelyingPartyRegistrationRepository.class);
243241
RelyingPartyRegistration one = this.relyingPartyRegistrationRepository.findByRegistrationId("one");
244-
RelyingPartyRegistration.AssertingPartyDetails google = one.getAssertingPartyDetails();
242+
AssertingPartyMetadata google = one.getAssertingPartyMetadata();
245243
RelyingPartyRegistration two = this.relyingPartyRegistrationRepository.findByRegistrationId("two");
246-
RelyingPartyRegistration.AssertingPartyDetails simpleSaml = two.getAssertingPartyDetails();
244+
AssertingPartyMetadata simpleSaml = two.getAssertingPartyMetadata();
247245
assertThat(one).isNotNull();
248246
assertThat(one.getRegistrationId()).isEqualTo("one");
249247
assertThat(one.getEntityId()).isEqualTo("{baseUrl}/saml2/service-provider-metadata/{registrationId}");

config/src/test/kotlin/org/springframework/security/config/annotation/web/Saml2DslTests.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,13 @@ class Saml2DslTests {
106106
InMemoryRelyingPartyRegistrationRepository(
107107
RelyingPartyRegistration.withRegistrationId("samlId")
108108
.assertionConsumerServiceLocation("{baseUrl}" + Saml2WebSsoAuthenticationFilter.DEFAULT_FILTER_PROCESSES_URI)
109-
.assertingPartyDetails { a -> a
109+
.assertingPartyMetadata { a -> a
110110
.verificationX509Credentials { c -> c
111111
.add(Saml2X509Credential(loadCert("rod.cer"), Saml2X509Credential.Saml2X509CredentialType.VERIFICATION))
112112
}
113113
}
114-
.assertingPartyDetails { c -> c.singleSignOnServiceLocation("ssoUrl") }
115-
.assertingPartyDetails { c -> c.entityId("entityId") }
114+
.assertingPartyMetadata { c -> c.singleSignOnServiceLocation("ssoUrl") }
115+
.assertingPartyMetadata { c -> c.entityId("entityId") }
116116
.build()
117117
)
118118
}
@@ -152,7 +152,7 @@ class Saml2DslTests {
152152
this.mockMvc.perform(request).andExpect(MockMvcResultMatchers.status().isFound()).andReturn()
153153
val redirectedUrl = result.response.redirectedUrl
154154
Assertions.assertThat(redirectedUrl)
155-
.startsWith(registration.assertingPartyDetails.singleSignOnServiceLocation)
155+
.startsWith(registration.assertingPartyMetadata.singleSignOnServiceLocation)
156156
}
157157

158158
@Configuration

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

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2022 the original author or authors.
2+
* Copyright 2002-2025 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.
@@ -48,7 +48,8 @@ public final class OpenSamlRelyingPartyRegistration extends RelyingPartyRegistra
4848
super(registration.getRegistrationId(), registration.getEntityId(),
4949
registration.getAssertionConsumerServiceLocation(), registration.getAssertionConsumerServiceBinding(),
5050
registration.getSingleLogoutServiceLocation(), registration.getSingleLogoutServiceResponseLocation(),
51-
registration.getSingleLogoutServiceBindings(), registration.getAssertingPartyDetails(),
51+
registration.getSingleLogoutServiceBindings(),
52+
(OpenSamlAssertingPartyDetails) registration.getAssertingPartyMetadata(),
5253
registration.getNameIdFormat(), registration.isAuthnRequestsSigned(),
5354
registration.getDecryptionX509Credentials(), registration.getSigningX509Credentials());
5455
}
@@ -58,7 +59,7 @@ public final class OpenSamlRelyingPartyRegistration extends RelyingPartyRegistra
5859
*/
5960
@Override
6061
public OpenSamlRelyingPartyRegistration.Builder mutate() {
61-
OpenSamlAssertingPartyDetails party = getAssertingPartyDetails();
62+
OpenSamlAssertingPartyDetails party = (OpenSamlAssertingPartyDetails) getAssertingPartyMetadata();
6263
return new Builder(party).registrationId(getRegistrationId())
6364
.entityId(getEntityId())
6465
.signingX509Credentials((c) -> c.addAll(getSigningX509Credentials()))
@@ -72,14 +73,6 @@ public OpenSamlRelyingPartyRegistration.Builder mutate() {
7273
.authnRequestsSigned(isAuthnRequestsSigned());
7374
}
7475

75-
/**
76-
* {@inheritDoc}
77-
*/
78-
@Override
79-
public OpenSamlAssertingPartyDetails getAssertingPartyDetails() {
80-
return (OpenSamlAssertingPartyDetails) super.getAssertingPartyDetails();
81-
}
82-
8376
/**
8477
* Create a {@link Builder} from an entity descriptor
8578
* @param entityDescriptor the asserting party's {@link EntityDescriptor}
@@ -165,11 +158,6 @@ public Builder authnRequestsSigned(Boolean authnRequestsSigned) {
165158
return (Builder) super.authnRequestsSigned(authnRequestsSigned);
166159
}
167160

168-
@Override
169-
public Builder assertingPartyDetails(Consumer<AssertingPartyDetails.Builder> assertingPartyDetails) {
170-
return (Builder) super.assertingPartyDetails(assertingPartyDetails);
171-
}
172-
173161
@Override
174162
public Builder assertingPartyMetadata(Consumer<AssertingPartyMetadata.Builder<?>> assertingPartyMetadata) {
175163
return (Builder) super.assertingPartyMetadata(assertingPartyMetadata);

0 commit comments

Comments
 (0)