[java-opensaml] 02/02: JSATTR-6: SAML AttributeQuery DataConnector
Brent Putman
putmanb at georgetown.edu
Thu May 29 23:47:58 UTC 2025
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=d86d156a293d4e518e92cccf1331b9619fa51e21
commit d86d156a293d4e518e92cccf1331b9619fa51e21
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Thu May 29 19:26:46 2025 -0400
JSATTR-6: SAML AttributeQuery DataConnector
Refactor ValidateAssertions to use new variant of
DefaultAssertionValidationContextBuilder.
Deprecate existing DefaultAssertionValidationContextBuilder.
---
.../DefaultAssertionValidationContextBuilder.java | 8 +++++
.../saml2/profile/impl/ValidateAssertions.java | 35 +++++++++++++++-------
.../MockAssertionValidationContextBuilder.java | 2 +-
3 files changed, 34 insertions(+), 11 deletions(-)
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java
index 4cc0a6703..502b9dd7e 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/DefaultAssertionValidationContextBuilder.java
@@ -77,6 +77,8 @@ import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.shared.logic.PredicateSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.resolver.CriteriaSet;
@@ -85,7 +87,10 @@ import net.shibboleth.shared.servlet.HttpServletSupport;
/**
* Function which implements default behavior for building an instance of {@link ValidationContext}
* from an instance of {@link AssertionValidationInput}.
+ *
+ * @deprecated use {@link org.opensaml.saml.saml2.assertion.messaging.impl.DefaultAssertionValidationContextBuilder}.
*/
+ at Deprecated
public class DefaultAssertionValidationContextBuilder
implements Function<AssertionValidationInput, ValidationContext> {
@@ -153,6 +158,9 @@ public class DefaultAssertionValidationContextBuilder
* Constructor.
*/
public DefaultAssertionValidationContextBuilder() {
+ DeprecationSupport.warn(ObjectType.CLASS, "DefaultAssertionValidationContextBuilder", null,
+ "org.opensaml.saml.saml2.assertion.messaging.impl.DefaultAssertionValidationContextBuilder}");
+
signatureRequired = PredicateSupport.alwaysTrue();
includeSelfEntityIDAsRecipient = PredicateSupport.alwaysFalse();
checkAddress = PredicateSupport.alwaysTrue();
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java
index b45e0a2eb..9d13be2d6 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/ValidateAssertions.java
@@ -31,6 +31,7 @@ import org.opensaml.saml.common.assertion.ValidationProcessingData;
import org.opensaml.saml.common.assertion.ValidationResult;
import org.opensaml.saml.common.profile.SAMLEventIds;
import org.opensaml.saml.saml2.assertion.SAML20AssertionValidator;
+import org.opensaml.saml.saml2.assertion.messaging.HttpServletRequestNetworkInformationSupplier;
import org.opensaml.saml.saml2.core.Assertion;
import org.opensaml.saml.saml2.core.Response;
import org.slf4j.Logger;
@@ -43,6 +44,8 @@ import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.FunctionSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport;
+import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
import net.shibboleth.shared.primitive.LoggerFactory;
/**
@@ -73,8 +76,9 @@ public class ValidateAssertions extends AbstractProfileAction {
private Function<Pair<ProfileRequestContext, Assertion>, SAML20AssertionValidator> assertionValidatorLookup;
/** Function that builds a {@link ValidationContext} instance based on a
- * {@link AssertionValidationInput} instance. */
- @Nonnull private Function<AssertionValidationInput, ValidationContext> validationContextBuilder;
+ * {@link org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput} instance. */
+ @Nonnull private Function<org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput, ValidationContext>
+ validationContextBuilder;
/** The resolver for the list of assertions to be validated. */
@Nonnull private Function<ProfileRequestContext, List<Assertion>> assertionResolver;
@@ -87,7 +91,8 @@ public class ValidateAssertions extends AbstractProfileAction {
setInvalidFatal(true);
setCheckDuringInit(true);
assertionValidatorLookup = FunctionSupport.constant(null);
- validationContextBuilder = new DefaultAssertionValidationContextBuilder();
+ validationContextBuilder =
+ new org.opensaml.saml.saml2.assertion.messaging.impl.DefaultAssertionValidationContextBuilder();
assertionResolver = new DefaultAssertionResolver();
}
@@ -112,31 +117,34 @@ public class ValidateAssertions extends AbstractProfileAction {
/**
* Get the function that builds a {@link ValidationContext} instance based on a
- * {@link AssertionValidationInput} instance.
+ * {@link org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput} instance.
*
* <p>
- * Defaults to an instance of {@link DefaultAssertionValidationContextBuilder}.
+ * Defaults to an instance of
+ * {@link org.opensaml.saml.saml2.assertion.messaging.impl.DefaultAssertionValidationContextBuilder}.
* </p>
*
* @return the builder function
*/
@Nonnull
- public Function<AssertionValidationInput, ValidationContext> getValidationContextBuilder() {
+ public Function<org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput, ValidationContext>
+ getValidationContextBuilder() {
return validationContextBuilder;
}
/**
* Set the function that builds a {@link ValidationContext} instance based on a
- * {@link AssertionValidationInput} instance.
+ * {@link org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput} instance.
*
* <p>
- * Defaults to an instance of {@link DefaultAssertionValidationContextBuilder}.
+ * Defaults to an instance of
+ * {@link org.opensaml.saml.saml2.assertion.messaging.impl.DefaultAssertionValidationContextBuilder}.
* </p>
*
* @param builder the builder function
*/
public void setValidationContextBuilder(
- @Nonnull final Function<AssertionValidationInput, ValidationContext> builder) {
+ @Nonnull final Function<org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput, ValidationContext> builder) {
checkSetterPreconditions();
validationContextBuilder = Constraint.isNotNull(builder, "ValidationContext builder cannot be null");
}
@@ -325,7 +333,8 @@ public class ValidateAssertions extends AbstractProfileAction {
final HttpServletRequest servletRequest = getHttpServletRequest();
assert servletRequest != null;
final ValidationContext validationContext = getValidationContextBuilder().apply(
- new AssertionValidationInput(profileContext, servletRequest, assertion));
+ new org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput(assertion, profileContext,
+ new HttpServletRequestNetworkInformationSupplier(servletRequest)));
if (validationContext == null) {
log.warn("{} ValidationContext produced was null", getLogPrefix());
@@ -356,7 +365,10 @@ public class ValidateAssertions extends AbstractProfileAction {
/**
* Class which holds data relevant to validating a SAML 2.0 Assertion.
+ *
+ * @deprecated Use {@link org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput}.
*/
+ @Deprecated
public static class AssertionValidationInput {
/** The profile request context input. */
@@ -380,6 +392,9 @@ public class ValidateAssertions extends AbstractProfileAction {
profileContext = Constraint.isNotNull(context, "ProfileRequestContext may not be null");
httpServletRequest = Constraint.isNotNull(request, "HttpServletRequest may not be null");
assertion = Constraint.isNotNull(samlAssertion, "Assertion may not be null");
+
+ DeprecationSupport.warn(ObjectType.CLASS, "AssertionValidationInput", null,
+ "org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput");
}
/**
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java
index 24f6d67da..85b9afbd6 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/MockAssertionValidationContextBuilder.java
@@ -21,7 +21,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.saml.common.assertion.ValidationContext;
-import org.opensaml.saml.saml2.profile.impl.ValidateAssertions.AssertionValidationInput;
+import org.opensaml.saml.saml2.assertion.messaging.AssertionValidationInput;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list