[java-oidc-common] branch main updated: JCOMOIDC-156 - Add isExtractStandardAttributes to RelyingParty profile configuration

Codeberg noreply at shibboleth.net
Fri Feb 20 12:08:21 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-oidc-common.

View the commit online:
https://codeberg.org/Shibboleth/java-oidc-common/commit/b180af13b25ce1c520d82e871445c0cdca7c0844

The following commit(s) were added to refs/heads/main by this push:
     new b180af13 JCOMOIDC-156 - Add isExtractStandardAttributes to RelyingParty profile configuration
b180af13 is described below

commit b180af13b25ce1c520d82e871445c0cdca7c0844
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri Feb 20 12:08:12 2026 +0000

    JCOMOIDC-156 - Add isExtractStandardAttributes to RelyingParty profile
    configuration
    
     - with default 'true' method for compat.
    
    https://shibboleth.atlassian.net/browse/JCOMOIDC-156
---
 .../config/OIDCSSORelyingPartyConfiguration.java   | 21 ++++++++++++++
 .../config/impl/AbstractOIDCSSOConfiguration.java  | 32 ++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSORelyingPartyConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSORelyingPartyConfiguration.java
index 4aa4b970..afac10a6 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSORelyingPartyConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSORelyingPartyConfiguration.java
@@ -94,5 +94,26 @@ public interface OIDCSSORelyingPartyConfiguration extends OAuth2TokenEncryptionP
         // Evaluate the claims as a default
         return true;
     }
+    
+    /**
+     * Get whether to perform extraction of a set of "standard" information from an OIDC id_token.
+     * 
+     * <p>This is essentially a built-in extraction strategy that can be supplemented via
+     * {@link #getAttributeExtractionStrategy(ProfileRequestContext)}.</p> 
+     * 
+     * <p>Defaults to "true".</p>
+     * 
+     * <p>TODO: Default implementation should be removed in 4.0.0</p>
+     * 
+     * @param profileRequestContext profile request context
+     * 
+     * @return whether to perform standard data extraction
+     * 
+     * @since 3.4.0
+     */
+    @ConfigurationSetting(name="extractStandardAttributes")
+    default boolean isExtractStandardAttributes(@Nullable final ProfileRequestContext profileRequestContext) {
+        return true;
+    }
 
 }
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/AbstractOIDCSSOConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/AbstractOIDCSSOConfiguration.java
index 28909897..5a34ad35 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/AbstractOIDCSSOConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/AbstractOIDCSSOConfiguration.java
@@ -121,6 +121,9 @@ public abstract class AbstractOIDCSSOConfiguration extends AbstractOAuth2FlowAwa
      * Defaults to true.
      */
     @Nonnull private Predicate<ProfileRequestContext> shouldValidateAcrValue;
+    
+    /** Whether to perform standard response data extraction. */
+    @Nonnull private Predicate<ProfileRequestContext> extractStandardAttributesPredicate;
 
     /**
      * Creates a new configuration instance.
@@ -156,6 +159,7 @@ public abstract class AbstractOIDCSSOConfiguration extends AbstractOAuth2FlowAwa
         attributeResolutionPrincipalLookupStrategy = FunctionSupport.constant(null);
         attributeExtractionStrategyLookupStrategy = FunctionSupport.constant(null);
         shouldValidateAcrValue = PredicateSupport.alwaysTrue();
+        extractStandardAttributesPredicate = PredicateSupport.alwaysTrue();
     }
     
     /** {@inheritDoc} */
@@ -807,5 +811,33 @@ public abstract class AbstractOIDCSSOConfiguration extends AbstractOAuth2FlowAwa
     public void setShouldValidateAcrValue(final boolean flag) {
         shouldValidateAcrValue = flag ? PredicateSupport.alwaysTrue() : PredicateSupport.alwaysFalse();
     }
+    
+    /** {@inheritDoc} */
+    public boolean isExtractStandardAttributes(@Nullable final ProfileRequestContext profileRequestContext) {
+        return extractStandardAttributesPredicate.test(profileRequestContext);
+    }
+    
+    /**
+     * Set whether to perform standard data extraction.
+     * 
+     * @param flag flag to set
+     * 
+     * @since 3.4.0
+     */
+    public void setExtractStandardAttributes(final boolean flag) {
+        extractStandardAttributesPredicate = flag ? PredicateSupport.alwaysTrue() : PredicateSupport.alwaysFalse();
+    }
+    
+    /**
+     * Set a condition for whether to perform standard data extraction.
+     * 
+     * @param condition condition to set
+     * 
+     * @since 3.4.0
+     */
+    public void setExtractStandardAttributesPredicate(@Nonnull final Predicate<ProfileRequestContext> condition) {
+        extractStandardAttributesPredicate =
+                Constraint.isNotNull(condition, "Standard extraction predicate cannot be null");
+    }
 
 }
\ 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