[java-oidfed-common] branch main updated: Add 'flow default' wiring for metadata policy related strategies

Codeberg noreply at shibboleth.net
Sun Oct 11 10:32:38 UTC 2026


This is an automated email from the git hooks/post-receive script.

codeberg pushed a commit to branch main
in repository java-oidfed-common.

View the commit online:
https://codeberg.org/Shibboleth/java-oidfed-common/commit/1aa85e57001058943570a235e85536dd9e5d4e85

The following commit(s) were added to refs/heads/main by this push:
     new 1aa85e5  Add 'flow default' wiring for metadata policy related strategies
1aa85e5 is described below

commit 1aa85e57001058943570a235e85536dd9e5d4e85
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Sun Oct 11 13:32:02 2026 +0300

    Add 'flow default' wiring for metadata policy related strategies
    
    - The abstract 'resolve-trust-chains' flow beans provide global default
      - Flow defaults in the inheriting flows (resolve-entity in oidfed-common)
    - Unwire idp.oidfed.MetadataPolicyMergingStrategy -property
---
 .../oidfed/resolve-entity/resolve-entity-beans.xml     | 12 ++++++------
 .../resolve-trust-chains-beans.xml                     | 18 +++++++++---------
 .../shibboleth/oidfed/conf/oidfed/oidfed.properties    |  7 +++----
 3 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-entity/resolve-entity-beans.xml b/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-entity/resolve-entity-beans.xml
index de1898e..cc4db5f 100644
--- a/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-entity/resolve-entity-beans.xml
+++ b/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-entity/resolve-entity-beans.xml
@@ -140,20 +140,20 @@
         parent="shibboleth.Functions.Expression"
         c:expression="'true'.equals(#input.getSubcontext(T(net.shibboleth.idp.authn.context.AuthenticationContext))?.getAuthenticationStateMap()?.get('idp.resolve-entity.resolveForAuthentication')) ? #input.getInboundMessageContext()?.getMessage().getClientAuthentication()?.getClientID()?.getValue() : #input.getInboundMessageContext()?.getMessage()?.getSubject()"/>
 
-    <bean id="DefaultMetadataPolicyEnforcer"
+    <bean id="FlowDefaultMetadataPolicyEnforcer"
         class="net.shibboleth.oidfed.metadata.policy.impl.DefaultFederationMetadataPolicyEnforcer"
         p:metadataPolicyOperators-ref="#{'%{idp.oidfed.resolveEntity.MetadataPolicyOperators:shibboleth.oidfed.StandardMetadataPolicyOperators}'.trim()}"/>
 
-    <bean id="DefaultTrustChainMetadataPolicyMergingStrategy" 
+    <bean id="FlowDefaultTrustChainMetadataPolicyMergingStrategy" 
         class="net.shibboleth.oidfed.profile.navigate.DefaultTrustChainMetadataPolicyMergingStrategy"
-        p:metadataPolicyMergingStrategy-ref="#{'%{idp.oidfed.resolveEntity.MetadataPolicyMergingStrategy:MetadataPolicyMergingStrategy}'.trim()}"
-        p:localMetadataPolicyStrategy-ref="#{'%{idp.oidfed.resolveEntity.LocalMetadataPolicyStrategy:DefaultLocalMetadataPolicyStrategy}'.trim()}"/>
+        p:metadataPolicyMergingStrategy-ref="#{'%{idp.oidfed.resolveEntity.MetadataPolicyMergingStrategy:FlowDefaultMetadataPolicyMergingStrategy}'.trim()}"
+        p:localMetadataPolicyStrategy-ref="#{'%{idp.oidfed.resolveEntity.LocalMetadataPolicyStrategy:FlowDefaultLocalMetadataPolicyStrategy}'.trim()}"/>
 
-    <bean id="MetadataPolicyMergingStrategy"
+    <bean id="FlowDefaultMetadataPolicyMergingStrategy"
         class="net.shibboleth.oidfed.metadata.policy.impl.DefaultFederationMetadataPolicyMergingStrategy"
         p:metadataPolicyOperators-ref="#{'%{idp.oidfed.resolveEntity.MetadataPolicyOperators:shibboleth.oidfed.StandardMetadataPolicyOperators}'.trim()}"/>
 
-    <bean id="DefaultLocalMetadataPolicyStrategy"
+    <bean id="FlowDefaultLocalMetadataPolicyStrategy"
         parent="shibboleth.Functions.Constant">
         <constructor-arg name="target">
             <util:map/>
diff --git a/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-trust-chains/resolve-trust-chains-beans.xml b/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-trust-chains/resolve-trust-chains-beans.xml
index acce299..3d4464a 100644
--- a/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-trust-chains/resolve-trust-chains-beans.xml
+++ b/oidfed-common-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidfed/resolve-trust-chains/resolve-trust-chains-beans.xml
@@ -26,8 +26,8 @@
     <bean id="ResolveTrustChains" class="net.shibboleth.oidfed.profile.impl.ResolveTrustChains"
         scope="prototype"
         p:trustChainCache="#{getObject('shibboleth.oidfed.trust-chain-resolver.TrustChainMetadataCache') ?: getObject('shibboleth.oidfed.TrustChainMetadataCache')}"
-        p:metadataPolicyMergingStrategy="#{getObject('shibboleth.oidfed.trust-chain-resolver.TrustChainMetadataPolicyMergingStrategy') ?: getObject('shibboleth.oidfed.trust-chain-resolver.DefaultTrustChainMetadataPolicyMergingStrategy')}"
-        p:metadataPolicyEnforcer="#{getObject('shibboleth.oidfed.trust-chain-resolver.MetadataPolicyEnforcer') ?: getObject('shibboleth.oidfed.trust-chain-resolver.DefaultMetadataPolicyEnforcer')}"
+        p:metadataPolicyMergingStrategy="#{getObject('shibboleth.oidfed.trust-chain-resolver.TrustChainMetadataPolicyMergingStrategy') ?: getObject('FlowDefaultTrustChainMetadataPolicyMergingStrategy') ?: getObject('shibboleth.oidfed.trust-chain-resolver.DefaultTrustChainMetadataPolicyMergingStrategy')}"
+        p:metadataPolicyEnforcer="#{getObject('shibboleth.oidfed.trust-chain-resolver.MetadataPolicyEnforcer') ?: getObject('FlowDefaultMetadataPolicyEnforcer') ?: getObject('shibboleth.oidfed.trust-chain-resolver.DefaultMetadataPolicyEnforcer')}"
         p:preSelectedTrustChainIdsLookupStrategy="#{getObject('shibboleth.oidfed.trust-chain-resolver.PreSelectedTrustChainIDsLookupStrategy') ?: getObject('shibboleth.oidfed.DefaultPreSelectedTrustChainIDsLookupStrategy')}"
         p:arraysAsSpaceSeparatedList="#{getObject('shibboleth.oidfed.trust-chain-resolver.ArrayAsSpaceSeparatedList') ?: getObject('shibboleth.oidfed.trust-chain-resolver.DefaultArrayAsSpaceSeparatedList')}"
         p:metadataValidationCondition="#{getObject('shibboleth.oidfed.trust-chain-resolver.MetadataValidationCondition') ?: getObject('shibboleth.oidfed.trust-chain-resolver.DefaultMetadataValidationCondition')}"
@@ -52,14 +52,14 @@
 
     <bean id="shibboleth.oidfed.trust-chain-resolver.DefaultTrustChainMetadataPolicyMergingStrategy" 
         class="net.shibboleth.oidfed.profile.navigate.DefaultTrustChainMetadataPolicyMergingStrategy"
-        p:metadataPolicyMergingStrategy-ref="#{'%{idp.oidfed.MetadataPolicyMergingStrategy:MetadataPolicyMergingStrategy}'.trim()}"
-        p:localMetadataPolicyStrategy-ref="#{'%{idp.oidfed.LocalMetadataPolicyStrategy:DefaultLocalMetadataPolicyStrategy}'.trim()}"/>
-
-    <bean id="MetadataPolicyMergingStrategy"
-        class="net.shibboleth.oidfed.metadata.policy.impl.DefaultFederationMetadataPolicyMergingStrategy"
-        p:metadataPolicyOperators-ref="#{'%{idp.oidfed.MetadataPolicyOperators:shibboleth.oidfed.StandardMetadataPolicyOperators}'.trim()}"/>
+        p:localMetadataPolicyStrategy-ref="#{'%{idp.oidfed.LocalMetadataPolicyStrategy:shibboleth.oidfed.trust-chain-resolver.DefaultLocalMetadataPolicyStrategy}'.trim()}">
+        <property name="metadataPolicyMergingStrategy">
+            <bean class="net.shibboleth.oidfed.metadata.policy.impl.DefaultFederationMetadataPolicyMergingStrategy"
+                p:metadataPolicyOperators-ref="#{'%{idp.oidfed.MetadataPolicyOperators:shibboleth.oidfed.StandardMetadataPolicyOperators}'.trim()}"/>
+        </property>
+    </bean>
 
-    <bean id="DefaultLocalMetadataPolicyStrategy"
+    <bean id="shibboleth.oidfed.trust-chain-resolver.DefaultLocalMetadataPolicyStrategy"
         parent="shibboleth.Functions.Constant">
         <constructor-arg name="target">
             <util:map>
diff --git a/oidfed-common-impl/src/main/resources/net/shibboleth/oidfed/conf/oidfed/oidfed.properties b/oidfed-common-impl/src/main/resources/net/shibboleth/oidfed/conf/oidfed/oidfed.properties
index b8084c0..5f10d61 100644
--- a/oidfed-common-impl/src/main/resources/net/shibboleth/oidfed/conf/oidfed/oidfed.properties
+++ b/oidfed-common-impl/src/main/resources/net/shibboleth/oidfed/conf/oidfed/oidfed.properties
@@ -22,8 +22,7 @@
 
 #idp.oidfed.policy.arraysAsSpaceSeparatedList = scope
 #idp.oidfed.MetadataPolicyOperators = shibboleth.oidfed.StandardMetadataPolicyOperators
-#idp.oidfed.MetadataPolicyMergingStrategy = MetadataPolicyMergingStrategy
-#idp.oidfed.LocalMetadataPolicyStrategy = DefaultLocalMetadataPolicyStrategy
+#idp.oidfed.LocalMetadataPolicyStrategy = shibboleth.oidfed.trust-chain-resolver.DefaultLocalMetadataPolicyStrategy
 
 #idp.oidfed.cache.entityConfiguration.cleanupTaskInterval = PT5M
 #idp.oidfed.cache.entityConfiguration.minRefreshDelay = PT1M
@@ -135,8 +134,8 @@
 #idp.oidfed.resolveEntity.authn.flows = OAuth2Client
 #idp.service.logging.oidfedresolve = OIDFED.ResolveEntity
 #idp.oidfed.resolveEntity.MetadataPolicyOperators = shibboleth.oidfed.StandardMetadataPolicyOperators
-#idp.oidfed.resolveEntity.MetadataPolicyMergingStrategy = MetadataPolicyMergingStrategy
-#idp.oidfed.resolveEntity.LocalMetadataPolicyStrategy = DefaultLocalMetadataPolicyStrategy
+#idp.oidfed.resolveEntity.MetadataPolicyMergingStrategy = FlowDefaultMetadataPolicyMergingStrategy
+#idp.oidfed.resolveEntity.LocalMetadataPolicyStrategy = FlowDefaultLocalMetadataPolicyStrategy
 #idp.oidfed.resolveEntity.TrustChainMetadataCache = shibboleth.oidfed.TrustChainMetadataCache
 #idp.oidfed.resolveEntity.EntityConfigurationMetadataCache = shibboleth.oidfed.EntityConfigurationMetadataCache
 #idp.oidfed.resolveEntity.LocalTrustAnchorsMetadataCache = shibboleth.oidfed.LocalTrustAnchorsMetadataCache

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list