Uploaded image for project: 'Metadata Aggregator'
  1. Metadata Aggregator
  2. MDA-55

add ability to filter entity attribute values

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.6.1
    • Fix Version/s: 0.9.0
    • Component/s: SAML Metadata
    • Labels:
      None

      Description

      We need to be able to manipulate the collection of entity attributes on a particular entity. One approach to this would be to implement an attribute whitelist/blacklist stage class matching format/attribute/value triples. I think literal matches against such triples would be adequate for many use cases (things like entity categories, LoA/IAP identifiers), but simple wildcarding on the attribute value only would probably be useful too.

      Another approach would be to re-use the attribute filtering code that the IdP uses, somehow.

      For a first implementation, I believe it is reasonable to handle only individual Attribute elements, and refuse to process Assertion children of EntityAttributes. I'm not sure that any manipulation of such Assertions makes sense given their mandatory signature element.

      Handling the special case where all entity attributes end up removed (which is not schema-valid) could be done by this code, but would probably be better handled by a separate "remove empty EntityAttributes" stage in the same way as we have a separate "remove empty Extensions" stage. Might make sense to generalise that to a "remove empty X" instead, as this comes up regularly in SAML, which tends to have 1-or-more content constraints.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ian@iay.org.uk Ian Young
              Reporter:
              ian@iay.org.uk Ian Young
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 28 minutes
                  28m