Done
Details
Assignee
Piotr PiernikPiotr PiernikReporter
KrzysztofKrzysztofArea
CommercialFix versions
Priority
Medium
Details
Details
Assignee
Piotr Piernik
Piotr PiernikReporter
Krzysztof
KrzysztofArea
Commercial
Fix versions
Priority
Created April 10, 2024 at 8:31 PM
Updated April 20, 2024 at 11:02 AM
Resolved April 20, 2024 at 11:02 AM
The task is to add flexible filtering of trusted IdPs of a federation configured as trusted as a part of Unity SAML authenticator.
We already have such a feature, allowing to exclude individual IdPs, given by their entityId. The additional mechanism shall be more dynamic, allowing for more flexibility:
Configured as an MVEL expression, which will be evaluated per each of the IdPs in a federation
the expression shall return true in case when IdP shall be trusted and false otherwise
name of the control in Console: “Federation IdPs filter:“
Tooltip: “If a filter is configured then all federation IdPs will be tested against it. Filter expression can use IdP attributes, as obtained from federation metadata, to decide whether to include it or not. If expression returns true the IdP will be trusted, and otherwise will be excluded.”.
The individual exclusion rules take precedence, i.e. if an IdP is included by the MVEL expression, but also excluded individually, it should be effectively excluded.
MVEL Context for the expression shall contain 2 variables:
entityID - with SAML entity id as a value
attributes - a map indexed by attribute names as obtained from EntityAttributes element from metadata. Values of the map shall be lists with values of the attribute.
For example consider this DFN metadata:
http://www.aai.dfn.de/metadata/dfn-aai-idp-metadata.xml
Pay attention to performance, this filterring should not noticeably slow down federation parsing.