[java-identity-provider] branch main updated: Wire in property to allow wildcard acceptance when proxying.
Codeberg
noreply at shibboleth.net
Thu Jan 15 01:53:28 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/ec5596ab6eeb43dce73d74cdf4ca122a471d2738
The following commit(s) were added to refs/heads/main by this push:
new ec5596ab6 Wire in property to allow wildcard acceptance when proxying.
ec5596ab6 is described below
commit ec5596ab6eeb43dce73d74cdf4ca122a471d2738
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Jan 14 20:53:16 2026 -0500
Wire in property to allow wildcard acceptance when proxying.
---
.../shibboleth/idp/flows/authn/saml-authn-beans.xml | 1 +
.../idp/module/conf/authn/authn.properties | 4 +++-
.../profile/impl/ValidateSAMLAuthentication.java | 21 ++++++++++++++++++++-
3 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml
index 4e60153d2..213264ea1 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml
@@ -459,6 +459,7 @@
p:resultCachingPredicate="#{getObject('shibboleth.authn.SAML.resultCachingPredicate')}"
p:attributeExtractionStrategy="#{getObject('shibboleth.authn.SAML.attributeExtractionStrategy')}"
p:decodeNameID="%{idp.authn.SAML.decodeNameID:false}"
+ p:acceptUnfilteredAttributes="%{idp.authn.SAML.acceptUnfilteredAttributes:false}"
p:loggedAttributeId="%{idp.authn.SAML.loggedAttributeId:}" />
<bean id="UsableC14NFlows" parent="shibboleth.CommaDelimStringArray" c:_0="%{idp.authn.SAML.c14n.flows:}" />
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/authn.properties b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/authn.properties
index 5c7302309..59c96c4e9 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/authn.properties
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/authn/authn.properties
@@ -225,7 +225,9 @@ idp.authn.IPAddress.supportedPrincipals = \
#idp.authn.SAML.proxyEntityID = https://idp.example.org/idp/shibboleth
#idp.authn.SAML.discoveryRequired = true
# Apply registry rules to decode NameID(s)
-idp.authn.SAML.decodeNameID = true
+#idp.authn.SAML.decodeNameID = false
+# Accept decoded attributes not referenced by filter policies
+#idp.authn.SAML.acceptUnfilteredAttributes = false
# Optionally specify list of c14n beans to apply
#idp.authn.SAML.c14n.flows =
# Generally left false with bidirectional mappings in
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
index ecf6a8341..f24a842f9 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ValidateSAMLAuthentication.java
@@ -130,6 +130,9 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
/** Whether to apply transcoder registry to NameID elements. */
private boolean decodeNameID;
+
+ /** Whether to accept decoded attributes that no filter rules applied to. */
+ private boolean acceptUnfilteredAttributes;
/** An IdPAttribute ID to log as a "name" in place of the NameID for "info" purposes. */
@Nullable @NotEmpty private String loggedAttributeId;
@@ -225,6 +228,21 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
decodeNameID = flag;
}
+ /**
+ * Set whether to accept decoded {@link IdPAttribute} objects pulled from the assertions if
+ * no filtering rule applied to them.
+ *
+ * <p>This is a variant of the original SP's "wildcard" rule support to allow non-enumerated
+ * attributes to be accepted.</p>
+ *
+ * @param flag
+ */
+ public void setAcceptUnfilteredAttributes(final boolean flag) {
+ checkSetterPreconditions();
+
+ acceptUnfilteredAttributes = flag;
+ }
+
/**
* Set an attribute ID to pull a "name" from for logging purposes.
*
@@ -626,7 +644,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
}
/**
- * Check for inbound attributes and apply filtering.
+ * Filter inbound attributes.
*
* @param profileRequestContext current profile request context
*/
@@ -668,6 +686,7 @@ public class ValidateSAMLAuthentication extends AbstractValidationAction {
filterContext.setDirection(Direction.INBOUND)
.setPrefilteredIdPAttributes(ac.getUnfilteredIdPAttributes())
+ .setIncludeUnfilteredAttributes(acceptUnfilteredAttributes)
.setMetadataResolver(metadataResolver)
.setRequesterMetadataContextLookupStrategy(null)
.setIssuerMetadataContextLookupStrategy(
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list