[java-identity-provider] branch main updated: IDP-2433 - Spring bean dependency omissions and loops

Codeberg noreply at shibboleth.net
Fri Feb 13 16:33:57 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
https://codeberg.org/Shibboleth/java-identity-provider/commit/f6ca0a8dbbb53c63f00e2537ee492aff35b4a983

The following commit(s) were added to refs/heads/main by this push:
     new f6ca0a8db IDP-2433 - Spring bean dependency omissions and loops
f6ca0a8db is described below

commit f6ca0a8dbbb53c63f00e2537ee492aff35b4a983
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Feb 13 11:32:12 2026 -0500

    IDP-2433 - Spring bean dependency omissions and loops
    
    https://shibboleth.atlassian.net/browse/IDP-2433
    
    Fix a service dependency loop by relocating SAML DataConnector beans.
---
 .../shibboleth/idp/conf/attribute-resolver-system.xml   |  9 ---------
 .../net/shibboleth/idp/conf/services-system.xml         | 17 +++++++++++++++++
 2 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/attribute-resolver-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/attribute-resolver-system.xml
index f1f22b0c0..a74d19b9a 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/attribute-resolver-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/attribute-resolver-system.xml
@@ -18,15 +18,6 @@
     <!-- Wildcard import hook for plugins. -->
     <import resource="classpath*:/META-INF/net/shibboleth/idp/service/attribute/resolver/postconfig.xml" />
     
-    <!-- Dependencies of SAML data connector. -->
-    <bean id="shibboleth.SAMLDataConnector.SelfEntityIDResolver" 
-        class="net.shibboleth.profile.relyingparty.impl.CriteriaSelfEntityIDResolver"
-        p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
-    
-    <bean id="shibboleth.SAMLDataConnector.DecryptionConfigurationResolver" 
-        class="net.shibboleth.profile.relyingparty.impl.CriteriaDecryptionConfigurationResolver"
-        p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
-
     <bean id="shibboleth.SAMLDataConnector.AssertionValidator" class="org.opensaml.saml.saml2.assertion.SAML20AssertionValidator">
         <!-- Condition validators. -->
         <constructor-arg index="0">
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml
index e38a35b45..1bb0c3880 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml
@@ -131,6 +131,7 @@
     </bean>
 
     <bean id="shibboleth.RelyingPartyResolverService" parent="shibboleth.ReloadableService"
+            depends-on="shibboleth.RoleDescriptorResolver"
             p:serviceConfigurations-ref="ExtendedRelyingPartyResolverResources"
             p:failFast="%{idp.service.relyingparty.failFast:%{idp.service.failFast:false}}"
             p:reloadCheckDelay="%{idp.service.relyingparty.checkInterval:PT0S}">
@@ -250,4 +251,20 @@
           class="net.shibboleth.idp.cas.service.impl.MetadataServiceRegistry"
           c:resolver-ref="shibboleth.RoleDescriptorResolver" />
           
+    <!--
+    Dependencies of SAML data connector.
+    
+    These need to be here rather than inside the AttributeResolver to avoid creating a loop
+    between three of our services (AttributeResolver -> RelyingPartyResolver -> MetadataResolver)
+    because we have plugin features that add a MetadataResolver -> AttributeResolver dependency.
+    -->
+    
+    <bean id="shibboleth.SAMLDataConnector.SelfEntityIDResolver" 
+        class="net.shibboleth.profile.relyingparty.impl.CriteriaSelfEntityIDResolver"
+        p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
+    
+    <bean id="shibboleth.SAMLDataConnector.DecryptionConfigurationResolver" 
+        class="net.shibboleth.profile.relyingparty.impl.CriteriaDecryptionConfigurationResolver"
+        p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
+          
  </beans>

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


More information about the commits mailing list