Update custom-urls Sample to use Docker-based IdP

Issue gh-127
This commit is contained in:
Josh Cummings
2024-11-04 15:49:34 -07:00
parent 29d9bec07f
commit 8eb06469e2
16 changed files with 276 additions and 23 deletions

View File

@@ -21,12 +21,6 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.saml2.provider.service.metadata.OpenSamlMetadataResolver;
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository;
import org.springframework.security.saml2.provider.service.web.DefaultRelyingPartyRegistrationResolver;
import org.springframework.security.saml2.provider.service.web.RelyingPartyRegistrationResolver;
import org.springframework.security.saml2.provider.service.web.Saml2MetadataFilter;
import org.springframework.security.saml2.provider.service.web.authentication.Saml2WebSsoAuthenticationFilter;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@@ -34,12 +28,7 @@ import org.springframework.security.web.SecurityFilterChain;
public class SecurityConfiguration {
@Bean
SecurityFilterChain securityFilterChain(HttpSecurity http,
RelyingPartyRegistrationRepository relyingPartyRegistrationRepository) throws Exception {
RelyingPartyRegistrationResolver relyingPartyRegistrationResolver = new DefaultRelyingPartyRegistrationResolver(
relyingPartyRegistrationRepository);
Saml2MetadataFilter metadataFilter = new Saml2MetadataFilter(relyingPartyRegistrationResolver,
new OpenSamlMetadataResolver());
SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeHttpRequests((authorize) -> authorize
@@ -48,7 +37,7 @@ public class SecurityConfiguration {
)
.saml2Login(Customizer.withDefaults())
.saml2Logout(Customizer.withDefaults())
.addFilterBefore(metadataFilter, Saml2WebSsoAuthenticationFilter.class);
.saml2Metadata(Customizer.withDefaults());
// @formatter:on
return http.build();
}

View File

@@ -1,4 +1,14 @@
logging.level:
org.springframework.security: TRACE
spring:
docker:
compose:
file: docker:docker/compose.yml
readiness:
wait: never
skip:
in-tests: false
security:
filter:
dispatcher-types: async, error, request, forward
@@ -6,12 +16,13 @@ spring:
relyingparty:
registration:
one:
entity-id: "{baseUrl}/saml/metadata"
signing.credentials:
- private-key-location: classpath:credentials/rp-private.key
certificate-location: classpath:credentials/rp-certificate.crt
assertingparty.metadata-uri: https://dev-05937739.okta.com/app/exk598vc9bHhwoTXM5d7/sso/saml/metadata
assertingparty.metadata-uri: http://idp-one.7f000001.nip.io/simplesaml/saml2/idp/metadata.php
singlelogout:
binding: POST
binding: REDIRECT
url: "{baseUrl}/saml/logout"
responseUrl: "{baseUrl}/saml/SingleLogout"
acs: