[java-oidc-common] branch dev/JCOMOIDC-139 updated: Cleanup profile interfaces and add default methods for compatibility

Codeberg noreply at shibboleth.net
Tue Feb 17 20:41:19 UTC 2026


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

codeberg pushed a commit to branch dev/JCOMOIDC-139
in repository java-oidc-common.

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

The following commit(s) were added to refs/heads/dev/JCOMOIDC-139 by this push:
     new 133aa931 Cleanup profile interfaces and add default methods for compatibility
133aa931 is described below

commit 133aa931d38522f075c369071953b90e135711b3
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Tue Feb 17 20:41:08 2026 +0000

    Cleanup profile interfaces and add default methods for compatibility
---
 .../profile/config/OIDCAuthenticationProfileConfiguration.java |  7 +++++--
 .../config/OAuth2ResourceIndicatingProfileConfiguration.java   | 10 ++++++++--
 .../config/impl/DefaultOIDCAuthorizationConfiguration.java     |  6 +++++-
 .../config/impl/DefaultOAuth2TokenAudienceConfiguration.java   |  6 +++++-
 .../oauth2/config/impl/DefaultOAuth2TokenConfiguration.java    |  6 +++++-
 5 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProfileConfiguration.java
index 538c2060..c1d0d5b0 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProfileConfiguration.java
@@ -31,6 +31,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
 
 /** Generic configuration for an OIDC 1.0 authentication request.*/
 public interface OIDCAuthenticationProfileConfiguration extends OAuth2AuthorizationProfileConfiguration {
@@ -124,8 +125,10 @@ public interface OIDCAuthenticationProfileConfiguration extends OAuth2Authorizat
      * @since 3.4.0
      */
     @ConfigurationSetting(name="requestedClaims")
-    @Nullable @NonnullElements @Unmodifiable @NotLive 
-    Map<String,Object> getRequestedClaims(@Nullable final ProfileRequestContext profileRequestContext);
+    @Nonnull @NonnullElements @Unmodifiable @NotLive 
+    default Map<String,Object> getRequestedClaims(@Nullable final ProfileRequestContext profileRequestContext){
+        return CollectionSupport.emptyMap();
+    }
        
 
 }
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ResourceIndicatingProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ResourceIndicatingProfileConfiguration.java
index 0040d13a..ceb203ac 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ResourceIndicatingProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ResourceIndicatingProfileConfiguration.java
@@ -16,6 +16,7 @@ package net.shibboleth.oidc.profile.oauth2.config;
 
 import java.util.List;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
@@ -24,10 +25,13 @@ import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
 
 /**
  * Configuration for profiles that use the OAuth 2.0 resource parameter (RFC8707) to indicate the target service
  * or resource for which access is being requested.
+ * 
+ * @since 3.4.0
  */
 public interface OAuth2ResourceIndicatingProfileConfiguration {
     
@@ -40,7 +44,9 @@ public interface OAuth2ResourceIndicatingProfileConfiguration {
      * @return the set of resource indicators.
      */
     @ConfigurationSetting(name="resourceIndicators")
-    @Nullable @NonnullElements @Unmodifiable @NotLive List<String> getResourceIndicators(
-            @Nullable final ProfileRequestContext profileRequestContext);
+    @Nonnull @NonnullElements @Unmodifiable @NotLive default List<String> getResourceIndicators(
+            @Nullable final ProfileRequestContext profileRequestContext){
+        return CollectionSupport.emptyList();
+    }
 
 }
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCAuthorizationConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCAuthorizationConfiguration.java
index c14bec43..731b1d24 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCAuthorizationConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/DefaultOIDCAuthorizationConfiguration.java
@@ -1106,7 +1106,11 @@ public class DefaultOIDCAuthorizationConfiguration extends AbstractOIDCSSOConfig
     /** {@inheritDoc} */
     @Override
     public List<String> getResourceIndicators(final ProfileRequestContext profileRequestContext) {
-        return resourceIndicatorsLookupStrategy.apply(profileRequestContext);
+        final List<String> resourceIndicators = resourceIndicatorsLookupStrategy.apply(profileRequestContext);
+        if (resourceIndicators != null) {
+            return CollectionSupport.copyToList(resourceIndicators);
+        }
+        return CollectionSupport.emptyList();
     }
     
     /**
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenAudienceConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenAudienceConfiguration.java
index 6ecef61a..c6cd2aec 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenAudienceConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenAudienceConfiguration.java
@@ -314,7 +314,11 @@ public class DefaultOAuth2TokenAudienceConfiguration extends AbstractOAuth2Inter
      /** {@inheritDoc} */
      @Override
      public List<String> getResourceIndicators(final ProfileRequestContext profileRequestContext) {
-         return resourceIndicatorsLookupStrategy.apply(profileRequestContext);
+         final List<String> resourceIndicators = resourceIndicatorsLookupStrategy.apply(profileRequestContext);
+         if (resourceIndicators != null) {
+             return CollectionSupport.copyToList(resourceIndicators);
+         }
+         return CollectionSupport.emptyList();
      }
      
      /**
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenConfiguration.java
index 8571f4c7..57916cc5 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/DefaultOAuth2TokenConfiguration.java
@@ -255,7 +255,11 @@ public class DefaultOAuth2TokenConfiguration extends AbstractOIDCSSOConfiguratio
        /** {@inheritDoc} */
        @Override
        public List<String> getResourceIndicators(final ProfileRequestContext profileRequestContext) {
-           return resourceIndicatorsLookupStrategy.apply(profileRequestContext);
+           final List<String> resourceIndicators = resourceIndicatorsLookupStrategy.apply(profileRequestContext);
+           if (resourceIndicators != null) {
+               return CollectionSupport.copyToList(resourceIndicators);
+           }
+           return CollectionSupport.emptyList();
        }
        
        /**

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


More information about the commits mailing list