...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- retain SPs only but don’t remove “roleless” entity descriptors --> <MetadataFilter xsi:type="EntityRoleWhiteList" removeRolelessEntityDescriptors="false" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> <RetainedRole>md:SPSSODescriptor</RetainedRole> </MetadataFilter> <!-- clean up the mess made by the EntityRoleWhiteList filter --> <MetadataFilter xsi:type="Predicate" direction="exclude" removeEmptyEntitiesDescriptors="true"> <ConditionScript> <Script> <![CDATA[ // an implementation of Predicate<EntityDescriptor> // invoke a boolean function expression on the input parameter // if the predicate function returns true, the entity descriptor // is excluded from the output (since direction="exclude"). // // the input argument is of type: // org.opensaml.saml.saml2.metadata.EntityDescriptor // (function (entity) { "use strict"; // check the parameter (entityDescriptor if (entity === null) { return false; } // preserve an affiliation descriptorsdescriptor if (entityDescriptorentity.getAffiliationDescriptor() !== null) { return false; } // exclude a “roleless”"roleless" entity descriptorsdescriptor return entityDescriptorentity.getRoleDescriptors() === null; }(input)); ]]> </Script> </ConditionScript> </MetadataFilter> |
...