Skip to content

Commit 7aeda7c

Browse files
committed
Fix SAML 2.0 Javaconfig Sample
Issue gh-9362
1 parent 02e13dc commit 7aeda7c

File tree

4 files changed

+25
-11
lines changed

4 files changed

+25
-11
lines changed

samples/javaconfig/saml2login/spring-security-samples-javaconfig-saml2-login.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ dependencies {
55
compile project(':spring-security-config')
66
compile "org.bouncycastle:bcprov-jdk15on"
77
compile "org.bouncycastle:bcpkix-jdk15on"
8+
compile slf4jDependencies
89

910
testCompile project(':spring-security-test')
1011
}

samples/javaconfig/saml2login/src/main/java/org/springframework/security/samples/config/MessageSecurityWebApplicationInitializer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@
2727
public class MessageSecurityWebApplicationInitializer extends
2828
AbstractSecurityWebApplicationInitializer {
2929

30+
public MessageSecurityWebApplicationInitializer() {
31+
super(SecurityConfig.class);
32+
}
33+
3034
@Override
3135
protected boolean enableHttpSessionEventPublisher() {
3236
return true;

samples/javaconfig/saml2login/src/main/java/org/springframework/security/samples/config/SecurityConfig.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package org.springframework.security.samples.config;
1717

18+
19+
import org.springframework.context.annotation.Bean;
1820
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
1921
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
2022
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
@@ -23,6 +25,7 @@
2325
import org.springframework.security.saml2.credentials.Saml2X509Credential;
2426
import org.springframework.security.saml2.provider.service.registration.InMemoryRelyingPartyRegistrationRepository;
2527
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration;
28+
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository;
2629
import org.springframework.security.saml2.provider.service.servlet.filter.Saml2WebSsoAuthenticationFilter;
2730

2831
import java.io.ByteArrayInputStream;
@@ -39,7 +42,8 @@
3942
@EnableGlobalMethodSecurity(prePostEnabled = true)
4043
public class SecurityConfig extends WebSecurityConfigurerAdapter {
4144

42-
RelyingPartyRegistration getSaml2AuthenticationConfiguration() throws Exception {
45+
@Bean
46+
RelyingPartyRegistrationRepository getSaml2AuthenticationConfiguration() throws Exception {
4347
//remote IDP entity ID
4448
String idpEntityId = "https://simplesaml-for-spring-saml.cfapps.io/saml2/idp/metadata.php";
4549
//remote WebSSO Endpoint - Where to Send AuthNRequests to
@@ -53,14 +57,14 @@ RelyingPartyRegistration getSaml2AuthenticationConfiguration() throws Exception
5357
//IDP certificate for verification of incoming messages
5458
Saml2X509Credential idpVerificationCertificate = getVerificationCertificate();
5559
String acsUrlTemplate = "{baseUrl}" + Saml2WebSsoAuthenticationFilter.DEFAULT_FILTER_PROCESSES_URI;
56-
return RelyingPartyRegistration.withRegistrationId(registrationId)
60+
return new InMemoryRelyingPartyRegistrationRepository(RelyingPartyRegistration.withRegistrationId(registrationId)
5761
.providerDetails(config -> config.entityId(idpEntityId))
5862
.providerDetails(config -> config.webSsoUrl(webSsoEndpoint))
5963
.credentials(c -> c.add(signingCredential))
6064
.credentials(c -> c.add(idpVerificationCertificate))
6165
.localEntityIdTemplate(localEntityIdTemplate)
6266
.assertionConsumerServiceUrlTemplate(acsUrlTemplate)
63-
.build();
67+
.build());
6468
}
6569

6670
@Override
@@ -70,14 +74,7 @@ protected void configure(HttpSecurity http) throws Exception {
7074
.authorizeRequests()
7175
.anyRequest().authenticated()
7276
.and()
73-
.saml2Login()
74-
.relyingPartyRegistrationRepository(
75-
new InMemoryRelyingPartyRegistrationRepository(
76-
getSaml2AuthenticationConfiguration()
77-
)
78-
)
79-
.loginProcessingUrl("/sample/jc/saml2/sso/{registrationId}")
80-
;
77+
.saml2Login();
8178
// @formatter:on
8279
}
8380

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<configuration>
2+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
3+
<encoder>
4+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
5+
</encoder>
6+
</appender>
7+
8+
<root level="WARN">
9+
<appender-ref ref="STDOUT" />
10+
</root>
11+
12+
</configuration>

0 commit comments

Comments
 (0)