[java-identity-provider] branch main updated: JSATTR-6: SAML AttributeQuery DataConnector
Brent Putman
putmanb at georgetown.edu
Thu Nov 6 03:34:05 UTC 2025
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
https://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=92e423222f79cc2422713bfb990ab87af9b14fd7
The following commit(s) were added to refs/heads/main by this push:
new 92e423222 JSATTR-6: SAML AttributeQuery DataConnector
92e423222 is described below
commit 92e423222f79cc2422713bfb990ab87af9b14fd7
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Wed Nov 5 22:33:45 2025 -0500
JSATTR-6: SAML AttributeQuery DataConnector
Add custom properties to parser.properties.
Add initial bean dependencies to attribute-resolver-system.xml.
---
.../idp/conf/attribute-resolver-system.xml | 65 ++++++++++++++++++++++
.../net/shibboleth/spring/parser.properties | 20 ++++++-
2 files changed, 84 insertions(+), 1 deletion(-)
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 229376bd6..9d44faf9b 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,4 +18,69 @@
<!-- 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">
+ <util:list>
+ <bean class="org.opensaml.saml.saml2.assertion.impl.AudienceRestrictionConditionValidator" />
+ <bean class="org.opensaml.saml.saml2.assertion.impl.DelegationRestrictionConditionValidator" />
+ <bean class="org.opensaml.saml.saml2.assertion.impl.OneTimeUseConditionValidator">
+ <constructor-arg ref="shibboleth.ReplayCache" />
+ <constructor-arg value="#{null}" />
+ </bean>
+ <bean class="org.opensaml.saml.saml2.assertion.impl.ProxyRestrictionConditionValidator" />
+ </util:list>
+ </constructor-arg>
+ <!-- SubjectConfirmation validators. -->
+ <constructor-arg index="1">
+ <util:list>
+ <bean class="org.opensaml.saml.saml2.assertion.impl.BearerSubjectConfirmationValidator" />
+ <bean class="org.opensaml.saml.saml2.assertion.impl.HolderOfKeySubjectConfirmationValidator" />
+ </util:list>
+ </constructor-arg>
+ <!-- Statement validators. -->
+ <constructor-arg index="2" value="#{getObject('%{idp.attribute-resolver.dc.SAML.statementValidators:}'.trim())}" />
+ <!-- Generic AssertionValidator -->
+ <constructor-arg index="3" value="#{getObject('%{idp.attribute-resolver.dc.SAML.assertionValidator:}'.trim())}" />
+ <!-- SignatureTrustEngine -->
+ <constructor-arg index="4" ref="shibboleth.ChainingSignatureTrustEngine" />
+ <!-- SignaturePrevalidator -->
+ <constructor-arg index="5">
+ <bean class="org.opensaml.saml.security.impl.SAMLSignatureProfileValidator" />
+ </constructor-arg>
+ </bean>
+
+ <bean id="shibboleth.SAMLDataConnector.AssertionValidationContextBuilder"
+ class="org.opensaml.saml.saml2.assertion.messaging.impl.DefaultAssertionValidationContextBuilder">
+ <property name="clockSkew" value="%{idp.policy.clockSkew:PT3M}" />
+ <property name="lifetime" value="%{idp.policy.assertionLifetime:PT3M}" />
+ <property name="requireEntityIssuer">
+ <ref bean="shibboleth.Conditions.TRUE" />
+ </property>
+ <property name="requiredConditions">
+ <set>
+ <util:constant static-field="org.opensaml.saml.saml2.core.AudienceRestriction.DEFAULT_ELEMENT_NAME" />
+ </set>
+ </property>
+ <!-- TODO need predicate impl for IOOC
+ <property name="signatureRequired">
+ <bean parent="shibboleth.Conditions.NOT">
+ <constructor-arg>
+ <bean class="TODO" />
+ </constructor-arg>
+ </bean>
+ </property>
+ -->
+ </bean>
+
+
</beans>
diff --git a/idp-schema/src/main/resources/META-INF/net/shibboleth/spring/parser.properties b/idp-schema/src/main/resources/META-INF/net/shibboleth/spring/parser.properties
index 1288b99a0..df3b06782 100644
--- a/idp-schema/src/main/resources/META-INF/net/shibboleth/spring/parser.properties
+++ b/idp-schema/src/main/resources/META-INF/net/shibboleth/spring/parser.properties
@@ -18,4 +18,22 @@ net.shibboleth.spring.metadata.AbstractDynamicMetadataProviderParser.ParserPool.
net.shibboleth.spring.metadata.AbstractMetadataProviderParser.ByReferenceMetadataFilterBridge.bean = shibboleth.ByReferenceMetadataFilterBridge
net.shibboleth.spring.metadata.AbstractMetadataProviderParser.AutoWiredNodeProcessingMetadataFilter.bean = shibboleth.AutoWiredNodeProcessingMetadataFilter
-net.shibboleth.spring.metadata.filter.SchemaValidationParser.SchemaBuilder.bean = shibboleth.SchemaBuilder
\ No newline at end of file
+net.shibboleth.spring.metadata.filter.SchemaValidationParser.SchemaBuilder.bean = shibboleth.SchemaBuilder
+
+
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.EndpointResolver.bean= shibboleth.EndpointResolver
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.RoleDescriptorResolver.bean= shibboleth.RoleDescriptorResolver
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.IdentifierGenerationStrategy.bean= shibboleth.DefaultIdentifierGenerationStrategy
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.SOAPClient.bean= shibboleth.SOAPClient.SAML
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.SOAPPipelineName.value = SAML2.AttributeQuery
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.SOAPClientSecurityConfigurationProfileId.value = http://shibboleth.net/ns/profiles/saml2/query/attribute
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.DecryptionParametersResolver.bean= shibboleth.DecryptionParametersResolver
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.DecryptionConfigurationResolver.bean= shibboleth.SAMLDataConnector.DecryptionConfigurationResolver
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.DecryptionSecurityConfigurationProfileId.value = http://shibboleth.net/ns/profiles/saml2/query/attribute
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.AssertionValidationContextBuilder.bean= shibboleth.SAMLDataConnector.AssertionValidationContextBuilder
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.AssertionValidator.bean= shibboleth.SAMLDataConnector.AssertionValidator
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.AttributeTranscoderRegistry.bean= shibboleth.AttributeRegistryService
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.AttributeFilterService.bean= shibboleth.AttributeFilterService
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.AbstractSAMLDataConnectorParser.MetadataResolver.bean= shibboleth.MetadataResolver
+
+net.shibboleth.idp.attribute.resolver.spring.dc.saml.impl.SimpleAggregationSAMLDataConnectorParser.SelfEntityIDResolver.bean = shibboleth.SAMLDataConnector.SelfEntityIDResolver
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list