[java-shib-attribute] branch main updated: JSATTR-55 - SAML DataConnector pipeline needs to be adjustable
Codeberg
noreply at shibboleth.net
Mon Oct 26 23:00:26 UTC 2026
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch main
in repository java-shib-attribute.
View the commit online:
https://codeberg.org/Shibboleth/java-shib-attribute/commit/f0e7afc46799349821dffd2cecf1b0a54060fa4e
The following commit(s) were added to refs/heads/main by this push:
new f0e7afc46 JSATTR-55 - SAML DataConnector pipeline needs to be adjustable
f0e7afc46 is described below
commit f0e7afc46799349821dffd2cecf1b0a54060fa4e
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Mon Oct 26 19:00:01 2026 -0400
JSATTR-55 - SAML DataConnector pipeline needs to be adjustable
https://shibboleth.atlassian.net/browse/JSATTR-55
Additional override settings for config resolvers.
---
.../dc/saml/impl/AbstractSAMLDataConnectorParser.java | 11 ++++++++++-
.../impl/SimpleAggregationSAMLDataConnectorParser.java | 7 ++++++-
.../resources/schema/shibboleth-attribute-resolver.xsd | 14 ++++++++++++++
.../impl/SimpleAggregationSAMLDataConnectorParserTest.java | 2 +-
.../spring/dc/saml/resolver/saml-attribute-resolver-v2.xml | 3 +++
.../idp/attribute/resolver/spring/dc/saml/spring-beans.xml | 4 ++--
6 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/AbstractSAMLDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/AbstractSAMLDataConnectorParser.java
index 537e3f2f8..d423c611a 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/AbstractSAMLDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/AbstractSAMLDataConnectorParser.java
@@ -325,8 +325,17 @@ public abstract class AbstractSAMLDataConnectorParser extends AbstractDataConnec
final BeanDefinitionBuilder configLookupBuilder =
BeanDefinitionBuilder.genericBeanDefinition(CriteriaDecryptionConfigurationLookup.class);
- addCustomProperties(configLookupBuilder, "decryptionConfigurationResolver", "securityConfigurationProfileId");
+
+ addCustomProperties(configLookupBuilder, "securityConfigurationProfileId");
configLookupBuilder.setInitMethodName("initialize");
+
+ if (config.hasAttributeNS(null, "decryptionConfigurationResolverRef")) {
+ configLookupBuilder.addPropertyReference("decryptionConfigurationResolver",
+ config.getAttributeNS(null, "decryptionConfigurationResolverRef"));
+ } else {
+ addCustomProperties(configLookupBuilder, "decryptionConfigurationResolver");
+ }
+
final BeanDefinitionBuilder builder =
BeanDefinitionBuilder.genericBeanDefinition(DecryptionProcessor.class);
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParser.java
index d20390eef..f028b56d1 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParser.java
@@ -133,7 +133,12 @@ public class SimpleAggregationSAMLDataConnectorParser extends AbstractSAMLDataCo
final BeanDefinitionBuilder strategyBuilder =
BeanDefinitionBuilder.genericBeanDefinition(CriteriaSelfEntityIDResolver.class);
- addCustomProperties(strategyBuilder, "selfEntityIDResolver");
+ if (config.hasAttributeNS(null, "selfEntityIDResolverRef")) {
+ strategyBuilder.addPropertyReference("selfEntityIDResolver",
+ config.getAttributeNS(null, "selfEntityIDResolverRef"));
+ } else {
+ addCustomProperties(strategyBuilder, "selfEntityIDResolver");
+ }
strategyBuilder.setInitMethodName("initialize");
diff --git a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
index aa9dc8e07..2e369f640 100644
--- a/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
+++ b/shib-attribute-resolver-spring/src/main/resources/schema/shibboleth-attribute-resolver.xsd
@@ -1865,6 +1865,13 @@
</documentation>
</annotation>
</attribute>
+ <attribute name="decryptionConfigurationResolverRef" type="resolver:string">
+ <annotation>
+ <documentation>
+ Optional name of resolver of XML decryption configuration.
+ </documentation>
+ </annotation>
+ </attribute>
</extension>
</complexContent>
</complexType>
@@ -1918,6 +1925,13 @@
</documentation>
</annotation>
</attribute>
+ <attribute name="selfEntityIDResolverRef" type="resolver:string">
+ <annotation>
+ <documentation>
+ Optional name of resolver of the querying system's entityID.
+ </documentation>
+ </annotation>
+ </attribute>
</extension>
</complexContent>
</complexType>
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParserTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParserTest.java
index 6979dda59..c5020023a 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParserTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/saml/impl/SimpleAggregationSAMLDataConnectorParserTest.java
@@ -121,7 +121,7 @@ public class SimpleAggregationSAMLDataConnectorParserTest extends XMLObjectBaseT
Assert.assertNotNull(queryConnector.getSOAPClient());
Assert.assertTrue(queryConnector.isSubjectMatch());
Assert.assertNotNull(queryConnector.getSubjectMatchProcessor());
- Assert.assertNotNull(queryConnector.getValidator());
+
Assert.assertEquals(queryConnector.getAttributeDependencies().size(), 1);
Assert.assertEquals(queryConnector.getDataConnectorDependencies().size(), 1);
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/resolver/saml-attribute-resolver-v2.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/resolver/saml-attribute-resolver-v2.xml
index f6270e01c..8c98d7925 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/resolver/saml-attribute-resolver-v2.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/resolver/saml-attribute-resolver-v2.xml
@@ -19,6 +19,9 @@
<DataConnector id="mySAML" xsi:type="SimpleAggregationSAML"
SOAPClientRef="MockSOAPClient"
SOAPPipelineName="Zorkmid"
+ decryptionConfigurationResolverRef="MockDecryptionConfigurationResolver"
+ selfEntityIDResolverRef="MockSelfEntityIDResolver"
+
subjectMatch="true"
subjectAttributeIDs="email"
subjectNameIDFormatMapRef="SAML.SubjectNameIDFormatMap"
diff --git a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/spring-beans.xml b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/spring-beans.xml
index 93cfc046f..f80c73431 100644
--- a/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/spring-beans.xml
+++ b/shib-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/saml/spring-beans.xml
@@ -30,10 +30,10 @@
<bean id="MockSOAPClient" class="net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.MockSOAPClient">
</bean>
- <bean id="shibboleth.SAMLDataConnector.SelfEntityIDResolver" class="net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.MockSelfEntityIDResolver">
+ <bean id="MockSelfEntityIDResolver" class="net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.MockSelfEntityIDResolver">
</bean>
- <bean id="shibboleth.SAMLDataConnector.DecryptionConfigurationResolver" class="net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.MockDecryptionConfigurationResolver">
+ <bean id="MockDecryptionConfigurationResolver" class="net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.MockDecryptionConfigurationResolver">
</bean>
<bean id="shibboleth.DecryptionParametersResolver" class="org.opensaml.xmlsec.impl.BasicDecryptionParametersResolver">
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list