Skip to content

Commit

Permalink
Showing 2 changed files with 36 additions and 1 deletion.
@@ -7,6 +7,7 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteList
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.RequiredValidUntilFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.SignatureValidationFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.opensaml.OpenSamlNameIdFormatFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FilesystemMetadataResolver
@@ -99,7 +100,7 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService {
}
if(metadataFilter instanceof NameIdFormatFilter) {
NameIdFormatFilter nameIdFormatFilter = NameIdFormatFilter.cast(metadataFilter)
NameIDFormatFilter openSamlTargetFilter = new NameIDFormatFilter()
NameIDFormatFilter openSamlTargetFilter = new OpenSamlNameIdFormatFilter()
Map<Predicate<EntityDescriptor>, Collection<String>> predicateRules = [:]
nameIdFormatFilter.formats.each {
switch (it.type) {
@@ -0,0 +1,34 @@
package edu.internet2.tier.shibboleth.admin.ui.domain.filters.opensaml;

import org.opensaml.core.xml.XMLObject;
import org.opensaml.saml.metadata.resolver.filter.FilterException;
import org.opensaml.saml.metadata.resolver.filter.impl.NameIDFormatFilter;
import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;

import javax.annotation.Nullable;

/**
* Extension to open saml type for workaround forced component initialization check. We need to override <i>filter</i>
* method to skip this check as we use re-filtering in Shib UI context just to reload effective metadata.
*
* @author Dmitriy Kopylenko
*/
public class OpenSamlNameIdFormatFilter extends NameIDFormatFilter {

@Nullable
@Override
public XMLObject filter(@Nullable XMLObject metadata) throws FilterException {
if (metadata == null) {
return null;
}

if (metadata instanceof EntitiesDescriptor) {
filterEntitiesDescriptor((EntitiesDescriptor) metadata);
} else {
filterEntityDescriptor((EntityDescriptor) metadata);
}

return metadata;
}
}

0 comments on commit d533107

Please sign in to comment.