[java-shib-profile] branch main updated: IDP-2330 - Hook for populating group ID in attribute resolution context

Scott Cantor cantor.2 at osu.edu
Mon Feb 17 20:41:49 UTC 2025


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

scantor pushed a commit to branch main
in repository java-shib-profile.

View the commit online:
http://git.shibboleth.net/view/?p=java-shib-profile.git;a=commit;h=6623ab5de07abdccb1b2a8919e165aaed3a00591

The following commit(s) were added to refs/heads/main by this push:
     new 6623ab5  IDP-2330 - Hook for populating group ID in attribute resolution context
6623ab5 is described below

commit 6623ab5de07abdccb1b2a8919e165aaed3a00591
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Feb 17 15:41:46 2025 -0500

    IDP-2330 - Hook for populating group ID in attribute resolution context
    
    https://shibboleth.atlassian.net/browse/IDP-2330
    
    Added setting to attribute resolving profile configs.
---
 .../config/AttributeResolvingProfileConfiguration.java   | 16 ++++++++++++++++
 .../config/AttributeQueryProfileConfiguration.java       |  4 +++-
 .../config/AttributeQueryProfileConfiguration.java       |  4 +++-
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java
index 8f037dc..952927f 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java
@@ -37,4 +37,20 @@ public interface AttributeResolvingProfileConfiguration extends ProfileConfigura
     @ConfigurationSetting(name="resolveAttributes")
     boolean isResolveAttributes(@Nullable final ProfileRequestContext profileRequestContext);
     
+    /**
+     * Get the group of services for which attributes are being resolved.
+     * 
+     * <p>This is a hook for scenarios supported, but little used, in SAML and OpenID
+     * that group services into collections for the purposes of producing (e.g.,) pairwise
+     * identifiers.</p>
+     * 
+     * @param profileRequestContext current profile request context
+     * 
+     * @return the recipient group ID or null
+     * 
+     * @since 5.2.0
+     */
+    @ConfigurationSetting(name="attributeRecipientGroupID")
+    @Nullable String getAttributeRecipientGroupID(@Nullable final ProfileRequestContext profileRequestContext);
+
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java
index b89b746..dc9a02f 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java
@@ -16,6 +16,7 @@ package net.shibboleth.saml.saml1.profile.config;
 
 import javax.annotation.Nonnull;
 
+import net.shibboleth.profile.config.AttributeResolvingProfileConfiguration;
 import net.shibboleth.saml.profile.config.SAMLProfileConfiguration;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
@@ -25,7 +26,8 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
  * <p>Note that this interface extends neither the assertion producing nor consuming
  * interfaces, as this is specific to IdP and SP behavior.</p> 
  */
-public interface AttributeQueryProfileConfiguration extends SAMLProfileConfiguration {
+public interface AttributeQueryProfileConfiguration
+        extends AttributeResolvingProfileConfiguration, SAMLProfileConfiguration {
 
     /** ID for this profile configuration. */
     @Nonnull @NotEmpty static final String PROFILE_ID = "http://shibboleth.net/ns/profiles/saml1/query/attribute";
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java
index d4caee6..512a175 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java
@@ -16,6 +16,7 @@ package net.shibboleth.saml.saml2.profile.config;
 
 import javax.annotation.Nonnull;
 
+import net.shibboleth.profile.config.AttributeResolvingProfileConfiguration;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /**
@@ -24,7 +25,8 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
  * <p>Note that this interface extends neither the assertion producing nor consuming
  * interfaces, as this is specific to IdP and SP behavior.</p> 
  */
-public interface AttributeQueryProfileConfiguration extends SAML2ProfileConfiguration {
+public interface AttributeQueryProfileConfiguration
+        extends AttributeResolvingProfileConfiguration, SAML2ProfileConfiguration {
 
     /** ID for this profile configuration. */
     @Nonnull @NotEmpty static final String PROFILE_ID = "http://shibboleth.net/ns/profiles/saml2/query/attribute";

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


More information about the commits mailing list