Skip to content

Commit 595f88d

Browse files
committed
Merge pull request 'Expose SAML Metadata on /saml/metadata' (#27) from feature/24153 into develop
2 parents 9c6c06a + f208d23 commit 595f88d

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/main/java/eu/openanalytics/containerproxy/auth/impl/SAMLAuthenticationBackend.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer.AuthorizedUrl;
3030
import org.springframework.security.saml.SAMLAuthenticationProvider;
3131
import org.springframework.security.saml.SAMLEntryPoint;
32+
import org.springframework.security.saml.metadata.MetadataDisplayFilter;
3233
import org.springframework.security.saml.metadata.MetadataGeneratorFilter;
3334
import org.springframework.security.web.access.channel.ChannelProcessingFilter;
3435
import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
@@ -47,7 +48,10 @@ public class SAMLAuthenticationBackend implements IAuthenticationBackend {
4748

4849
@Autowired(required = false)
4950
private MetadataGeneratorFilter metadataGeneratorFilter;
50-
51+
52+
@Autowired(required = false)
53+
private MetadataDisplayFilter metadataDisplayFilter;
54+
5155
@Autowired(required = false)
5256
private SAMLFilterSet samlFilter;
5357

@@ -73,6 +77,7 @@ public void configureHttpSecurity(HttpSecurity http, AuthorizedUrl anyRequestCon
7377
.exceptionHandling().authenticationEntryPoint(samlEntryPoint)
7478
.and()
7579
.addFilterBefore(metadataGeneratorFilter, ChannelProcessingFilter.class)
80+
.addFilterAfter(metadataDisplayFilter, MetadataGeneratorFilter.class)
7681
.addFilterAfter(samlFilter, BasicAuthenticationFilter.class);
7782
}
7883

src/main/java/eu/openanalytics/containerproxy/auth/impl/saml/SAMLConfiguration.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,13 @@
5656
import org.springframework.security.saml.SAMLCredential;
5757
import org.springframework.security.saml.SAMLEntryPoint;
5858
import org.springframework.security.saml.SAMLProcessingFilter;
59+
import org.springframework.security.saml.context.SAMLContextProvider;
5960
import org.springframework.security.saml.context.SAMLContextProviderImpl;
6061
import org.springframework.security.saml.key.EmptyKeyManager;
6162
import org.springframework.security.saml.key.JKSKeyManager;
6263
import org.springframework.security.saml.key.KeyManager;
6364
import org.springframework.security.saml.log.SAMLDefaultLogger;
64-
import org.springframework.security.saml.metadata.CachingMetadataManager;
65-
import org.springframework.security.saml.metadata.ExtendedMetadata;
66-
import org.springframework.security.saml.metadata.ExtendedMetadataDelegate;
67-
import org.springframework.security.saml.metadata.MetadataGenerator;
68-
import org.springframework.security.saml.metadata.MetadataGeneratorFilter;
65+
import org.springframework.security.saml.metadata.*;
6966
import org.springframework.security.saml.parser.ParserPoolHolder;
7067
import org.springframework.security.saml.processor.HTTPPostBinding;
7168
import org.springframework.security.saml.processor.HTTPRedirectDeflateBinding;
@@ -185,6 +182,15 @@ public MetadataGeneratorFilter metadataGeneratorFilter() {
185182
return new MetadataGeneratorFilter(metadataGenerator());
186183
}
187184

185+
@Bean
186+
public MetadataDisplayFilter metadataDisplayFilter() throws MetadataProviderException, ResourceException {
187+
MetadataDisplayFilter metadataDisplayFilter = new MetadataDisplayFilter();
188+
metadataDisplayFilter.setContextProvider(contextProvider());
189+
metadataDisplayFilter.setKeyManager(keyManager());
190+
metadataDisplayFilter.setManager(metadata());
191+
return metadataDisplayFilter;
192+
}
193+
188194
@Bean
189195
public MetadataGenerator metadataGenerator() {
190196
String appEntityId = environment.getProperty("proxy.saml.app-entity-id");

0 commit comments

Comments
 (0)