|
@@ -16,10 +16,16 @@
|
|
|
|
|
|
package example;
|
|
|
|
|
|
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
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.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.web.SecurityFilterChain;
|
|
|
|
|
|
@Configuration
|
|
@@ -39,4 +45,18 @@ public class SecurityConfiguration {
|
|
|
return http.build();
|
|
|
}
|
|
|
|
|
|
+ @Bean
|
|
|
+ RelyingPartyRegistrationResolver relyingPartyRegistrationResolver(
|
|
|
+ RelyingPartyRegistrationRepository registrations) {
|
|
|
+ return new DefaultRelyingPartyRegistrationResolver(registrations);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ FilterRegistrationBean<Saml2MetadataFilter> metadata(RelyingPartyRegistrationResolver registrations) {
|
|
|
+ Saml2MetadataFilter metadata = new Saml2MetadataFilter(registrations, new OpenSamlMetadataResolver());
|
|
|
+ FilterRegistrationBean<Saml2MetadataFilter> filter = new FilterRegistrationBean<>(metadata);
|
|
|
+ filter.setOrder(-101);
|
|
|
+ return filter;
|
|
|
+ }
|
|
|
+
|
|
|
}
|