[java-oidc-common] 12/18: Move inherited methods onto interfaces
Phil Smart
philip.smart at jisc.ac.uk
Tue Mar 28 15:26:39 UTC 2023
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch dev/JCOMOIDC-66
in repository java-oidc-common.
View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=7b1a4dde7d247e328f83396dcd4ad4098fcefe78
commit 7b1a4dde7d247e328f83396dcd4ad4098fcefe78
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri Mar 24 12:10:06 2023 +0000
Move inherited methods onto interfaces
---
...AuthenticationProviderProfileConfiguration.java | 8 ++-
...enticationRelyingPartyProfileConfiguration.java | 27 +++++++++-
...ationRelyingPartyProxyProfileConfiguration.java | 54 -------------------
.../OIDCEncryptedTokenProfileConfiguration.java | 39 --------------
.../config/OIDCSSOProfileConfiguration.java | 14 ++++-
...th2ClientAuthenticableProfileConfiguration.java | 4 +-
.../OAuth2TokenAudienceProfileConfiguration.java | 6 ++-
...uth2TokenIntrospectionProfileConfiguration.java | 3 +-
.../config/OAuth2TokenProfileConfiguration.java | 3 +-
.../OAuth2TokenRevocationProfileConfiguration.java | 2 +-
.../OAuth2TokenValidatingProfileConfiguration.java | 4 +-
.../config/impl/AbstractOIDCSSOConfiguration.java | 11 +---
.../impl/OIDCAuthorizationConfiguration.java | 12 ++---
.../oidc/profile/config/impl/TestInterfaces.java | 61 +++++++++++-----------
...th2ClientAuthenticableProfileConfiguration.java | 4 +-
...AbstractOAuth2TokenValidatingConfiguration.java | 3 +-
.../impl/OAuth2TokenAudienceConfiguration.java | 8 +--
17 files changed, 99 insertions(+), 164 deletions(-)
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderProfileConfiguration.java
index 0658f1a..d82c31c 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderProfileConfiguration.java
@@ -24,6 +24,10 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
+import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationCodeProducingProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenEndpointProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
@@ -32,7 +36,9 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
*
* <p>This is specific to the role of the OpenID Provider (OP).</p>
*/
-public interface OIDCAuthenticationProviderProfileConfiguration extends OIDCAuthenticationProfileConfiguration {
+public interface OIDCAuthenticationProviderProfileConfiguration extends OIDCAuthenticationProfileConfiguration,
+ OAuth2AuthorizationCodeProducingProfileConfiguration, AuthenticationProfileConfiguration,
+ OverriddenIssuerProfileConfiguration, OAuth2TokenEndpointProfileConfiguration {
/**
* Get whether all acr claim requests should be treated as Essential.
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProfileConfiguration.java
index 1763d80..4240413 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProfileConfiguration.java
@@ -22,6 +22,8 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+
/**
* Configuration of an OIDC 1.0 authentication request.
*
@@ -83,9 +85,30 @@ public interface OIDCAuthenticationRelyingPartyProfileConfiguration extends OIDC
*/
boolean isEncryptRequestObject(@Nullable final ProfileRequestContext profileRequestContext);
+ /**
+ * Gets whether authentication results produced by use of this profile should carry the proxied
+ * assertion's auth_time from the id_token, rather than the current time.
+ *
+ * <p>Defaults to true.</p>
+ *
+ * @param profileRequestContext current profile request context
+ *
+ * @return whether to proxy across the inbound auth_time
+ *
+ * @since 2.2.0
+ */
+ public boolean isProxiedAuthnInstant(@Nullable final ProfileRequestContext profileRequestContext);
+ /**
+ * Get the redirect_uri override if set.
+ *
+ * @param profileRequestContext profile request context
+ *
+ * @return the redirect_uri override
+ *
+ * @since 2.2.0
+ */
+ @Nullable @NotEmpty String getRedirectUriOverride(@Nullable final ProfileRequestContext profileRequestContext);
-
-
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyProfileConfiguration.java
deleted file mode 100644
index 0c68284..0000000
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyProfileConfiguration.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.profile.config;
-
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-
-/** Configuration for an OIDC authentication request specific to a Relying Party Proxy.*/
-public interface OIDCAuthenticationRelyingPartyProxyProfileConfiguration
- extends OIDCAuthenticationRelyingPartyProfileConfiguration {
-
- /**
- * Gets whether authentication results produced by use of this profile should carry the proxied
- * assertion's auth_time from the id_token, rather than the current time.
- *
- * <p>Defaults to true.</p>
- *
- * @param profileRequestContext current profile request context
- *
- * @return whether to proxy across the inbound auth_time
- *
- * @since 2.2.0
- */
- public boolean isProxiedAuthnInstant(@Nullable final ProfileRequestContext profileRequestContext);
-
- /**
- * Get the redirect_uri override if set.
- *
- * @param profileRequestContext profile request context
- *
- * @return the redirect_uri override
- *
- * @since 2.2.0
- */
- @Nullable @NotEmpty String getRedirectUriOverride(@Nullable final ProfileRequestContext profileRequestContext);
-}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCEncryptedTokenProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCEncryptedTokenProfileConfiguration.java
deleted file mode 100644
index d736048..0000000
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCEncryptedTokenProfileConfiguration.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.oidc.profile.config;
-
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
-/**
- * Profile configuration for token endpoints that deal with token encryption.
- */
-public interface OIDCEncryptedTokenProfileConfiguration extends OIDCProfileConfiguration {
-
- /**
- * Get whether encryption is optional in the face of a missing key, etc.
- *
- * @param profileRequestContext current profile request context
- *
- * @return true iff encryption is optional
- */
- boolean isEncryptionOptional(@Nullable final ProfileRequestContext profileRequestContext);
-
-
-}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOProfileConfiguration.java
index af56ea5..905fb81 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOProfileConfiguration.java
@@ -22,10 +22,22 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
+import net.shibboleth.idp.profile.config.AttributeResolvingProfileConfiguration;
+import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AccessTokenProducingProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2ClientAuthenticableProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2FlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2RefreshTokenProducingProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
/** Profile configuration generic to all OIDC SSO profiles.*/
-public interface OIDCSSOProfileConfiguration extends OIDCTokenEncryptionProfileConfiguration {
+public interface OIDCSSOProfileConfiguration extends OIDCTokenEncryptionProfileConfiguration,
+ OIDCIDTokenProducingProfileConfiguration, AuthenticationProfileConfiguration,
+ OverriddenIssuerProfileConfiguration, OAuth2AccessTokenProducingProfileConfiguration,
+ OAuth2RefreshTokenProducingProfileConfiguration, AttributeResolvingProfileConfiguration,
+ OIDCFlowAwareProfileConfiguration, OAuth2FlowAwareProfileConfiguration,
+ OAuth2ClientAuthenticableProfileConfiguration {
/** ID for this profile configuration. */
@Nonnull @NotEmpty public static final String PROFILE_ID = "http://shibboleth.net/ns/profiles/oidc/sso/browser";
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ClientAuthenticableProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ClientAuthenticableProfileConfiguration.java
index 39e9be1..ef07d19 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ClientAuthenticableProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ClientAuthenticableProfileConfiguration.java
@@ -24,6 +24,7 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
import net.shibboleth.oidc.jwt.claims.ClaimsValidator;
import net.shibboleth.oidc.security.credential.ClientSecretCredential;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -32,7 +33,8 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
/** OAuth 2.0 profile configurations that support OAuth-defined client authentication methods.*/
-public interface OAuth2ClientAuthenticableProfileConfiguration extends OAuth2ProfileConfiguration {
+public interface OAuth2ClientAuthenticableProfileConfiguration
+ extends AuthenticationProfileConfiguration, OAuth2ProfileConfiguration {
/**
* Get the {@link ClaimsValidator} to apply to JWT-based client authentication.
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenAudienceProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenAudienceProfileConfiguration.java
index e455beb..25186e7 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenAudienceProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenAudienceProfileConfiguration.java
@@ -19,6 +19,8 @@ package net.shibboleth.oidc.profile.oauth2.config;
import javax.annotation.Nonnull;
+import net.shibboleth.idp.profile.config.AttributeResolvingProfileConfiguration;
+import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
import net.shibboleth.oidc.profile.config.OIDCTokenEncryptionProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -28,7 +30,9 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
* <p>This applies to behaviour controlling the characteristics of tokens issued
* to the parties intended to process them, as distinct from the clients that use them.</p>
*/
-public interface OAuth2TokenAudienceProfileConfiguration extends OIDCTokenEncryptionProfileConfiguration{
+public interface OAuth2TokenAudienceProfileConfiguration extends OIDCTokenEncryptionProfileConfiguration,
+ OverriddenIssuerProfileConfiguration, OAuth2AccessTokenProducingProfileConfiguration,
+ AttributeResolvingProfileConfiguration {
/** OAuth2 Token Revocation URI. */
@Nonnull @NotEmpty public static final String PROTOCOL_URI = "https://tools.ietf.org/html/rfc6749";
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionProfileConfiguration.java
index effe1b9..9466449 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionProfileConfiguration.java
@@ -24,7 +24,8 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
/**
* Profile configuration for OAuth2 Token Introspection.
*/
-public interface OAuth2TokenIntrospectionProfileConfiguration extends OAuth2ProfileConfiguration {
+public interface OAuth2TokenIntrospectionProfileConfiguration extends OAuth2TokenValidatingProfileConfiguration,
+ OAuth2ProfileConfiguration {
/** OAuth2 Token Revocation URI. */
@Nonnull @NotEmpty public static final String PROTOCOL_URI = "https://tools.ietf.org/html/rfc7662";
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenProfileConfiguration.java
index 9ca794c..3808ce8 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenProfileConfiguration.java
@@ -35,8 +35,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
/**
* OIDC-aware OAuth 2.0 token endpoint profile configuration.
*/
-public interface OAuth2TokenProfileConfiguration extends OIDCSSOProfileConfiguration,
- OAuth2RefreshTokenProducingProfileConfiguration {
+public interface OAuth2TokenProfileConfiguration extends OIDCSSOProfileConfiguration {
/** ID for this profile configuration. */
@Nonnull @NotEmpty public static final String PROFILE_ID = "http://shibboleth.net/ns/profiles/oauth2/token";
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationProfileConfiguration.java
index 19e9faa..71bfd3b 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationProfileConfiguration.java
@@ -31,7 +31,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
/**
* Configuration for the OAuth 2.0 Token Revocation profile.
*/
-public interface OAuth2TokenRevocationProfileConfiguration extends OAuth2ProfileConfiguration {
+public interface OAuth2TokenRevocationProfileConfiguration extends OAuth2TokenValidatingProfileConfiguration {
/** OAuth2 Token Revocation URI. */
@Nonnull @NotEmpty public static final String PROTOCOL_URI = "https://tools.ietf.org/html/rfc7009";
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenValidatingProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenValidatingProfileConfiguration.java
index 7281466..4cd1ba0 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenValidatingProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenValidatingProfileConfiguration.java
@@ -22,12 +22,14 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
import net.shibboleth.oidc.jwt.claims.ClaimsValidator;
/**
* Profile configuration for OIDC-aware OAuth 2.0 token endpoints.
*/
-public interface OAuth2TokenValidatingProfileConfiguration extends OAuth2ProfileConfiguration {
+public interface OAuth2TokenValidatingProfileConfiguration extends OAuth2ClientAuthenticableProfileConfiguration,
+ OverriddenIssuerProfileConfiguration, OAuth2ProfileConfiguration {
/**
* Get the {@link ClaimsValidator} to apply to issued JWT-based tokens being validated by this profile.
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 45f4d0f..10e774e 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
@@ -33,13 +33,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import com.google.common.base.Predicates;
-import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
-import net.shibboleth.idp.profile.config.AttributeResolvingProfileConfiguration;
-import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCIDTokenProducingProfileConfiguration;
import net.shibboleth.oidc.profile.config.OIDCSSOProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AccessTokenProducingProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2RefreshTokenProducingProfileConfiguration;
import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2FlowAwareProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -53,10 +47,7 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
* Base class for profiles that support OIDC's concept of SSO, which spans multiple endpoints.
*/
public abstract class AbstractOIDCSSOConfiguration extends AbstractOAuth2FlowAwareProfileConfiguration
- implements OIDCSSOProfileConfiguration, OIDCIDTokenProducingProfileConfiguration,
- AuthenticationProfileConfiguration, OverriddenIssuerProfileConfiguration,
- OAuth2AccessTokenProducingProfileConfiguration, OAuth2RefreshTokenProducingProfileConfiguration,
- AttributeResolvingProfileConfiguration {
+ implements OIDCSSOProfileConfiguration {
/** Lookup function to override issuer value. */
@Nonnull private Function<ProfileRequestContext,String> issuerLookupStrategy;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCAuthorizationConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCAuthorizationConfiguration.java
index 1d84ddd..2696ef1 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCAuthorizationConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCAuthorizationConfiguration.java
@@ -34,13 +34,9 @@ import org.opensaml.profile.context.ProfileRequestContext;
import com.google.common.base.Predicates;
-import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
-import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
import net.shibboleth.oidc.profile.config.OIDCAuthenticationProviderProfileConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProxyProfileConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.oidc.profile.config.OIDCSSOProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationCodeProducingProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenEndpointProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
@@ -56,10 +52,8 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
* <p>It is also usable as a Token endpoint configuration if no non-OIDC use cases are needed.</p>
*/
public class OIDCAuthorizationConfiguration extends AbstractOIDCSSOConfiguration
- implements OIDCAuthenticationRelyingPartyProxyProfileConfiguration,
- OIDCAuthenticationProviderProfileConfiguration, OAuth2AuthorizationCodeProducingProfileConfiguration,
- OAuth2TokenEndpointProfileConfiguration, AuthenticationProfileConfiguration,
- OverriddenIssuerProfileConfiguration {
+ implements OIDCAuthenticationRelyingPartyProfileConfiguration,
+ OIDCAuthenticationProviderProfileConfiguration {
/** Whether all acr claim requests should be treated as Essential. */
@Nonnull private Predicate<ProfileRequestContext> acrRequestAlwaysEssentialPredicate;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/TestInterfaces.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/TestInterfaces.java
index dd4a7a7..2c775a8 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/TestInterfaces.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/TestInterfaces.java
@@ -1,43 +1,44 @@
package net.shibboleth.oidc.profile.config.impl;
-import org.opensaml.profile.context.ProfileRequestContext;
+import java.lang.reflect.Method;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
-import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCUserInfoProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2RefreshTokenProducingProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenIntrospectionConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCFlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2FlowAwareProfileConfiguration;
public class TestInterfaces {
public static void main(final String args[]) {
- final var configClass = new OAuth2TokenConfiguration();
- if (configClass instanceof OAuth2TokenProfileConfiguration) {
- System.out.println("Interface is: "+configClass);
- System.out.println("Has method: "+((OAuth2TokenProfileConfiguration)configClass).getRefreshTokenLifetime(new ProfileRequestContext()));
+ final var concreteClass = new AbstractOAuth2FlowAwareProfileConfiguration();
+ final Set<String> concreteNames = new HashSet<>();
+ for (final Method m: concreteClass.getClass().getMethods()) {
+ if (m.getName().startsWith("is") || m.getName().startsWith("get")) {
+ System.out.println("CLASS:"+ m.getName());
+ concreteNames.add(m.getName());
+ }
}
- if (configClass instanceof OAuth2RefreshTokenProducingProfileConfiguration) {
- System.out.println("Interface is: "+configClass);
- System.out.println("Has method: "+((OAuth2RefreshTokenProducingProfileConfiguration)configClass).getRefreshTokenLifetime(new ProfileRequestContext()));
- }
- final var configClassTwo = new OAuth2TokenIntrospectionConfiguration();
- if (configClassTwo instanceof OverriddenIssuerProfileConfiguration) {
- System.out.println("Interface is: "+configClassTwo);
- System.out.println("Has method: "+((OverriddenIssuerProfileConfiguration)configClassTwo).getIssuer(new ProfileRequestContext()));
- }
- final var configClassThree = new OIDCAuthorizationConfiguration();
- if (configClassThree instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
- System.out.println("Interface is: "+configClassThree);
- System.out.println("Has method: "+((OIDCAuthenticationRelyingPartyProfileConfiguration)configClassThree).getResponseMode(new ProfileRequestContext()));
- }
- final var configClassFour = new OIDCUserInfoConfiguration();
- if (configClassFour instanceof OIDCUserInfoProfileConfiguration) {
- System.out.println("Interface is: "+configClassFour);
- System.out.println("Has method: "+((OIDCUserInfoProfileConfiguration)configClassFour).isEncryptionOptional(new ProfileRequestContext()));
+ final Set<String> interfaceNames = new HashSet<>();
+ for (final Method m: OIDCFlowAwareProfileConfiguration.class.getMethods()) {
+ if (m.getName().startsWith("is") || m.getName().startsWith("get")) {
+ System.out.println("INT: "+m.getName());
+ interfaceNames.add(m.getName());
+ }
}
+ final List<String> inClassNotInterface =
+ concreteNames.stream().filter(v -> !interfaceNames.contains(v)).collect(Collectors.toList());
+
+ inClassNotInterface.forEach(v -> System.out.println("Missing in interface: "+v));
+
+ final List<String> inInterfaceNotClass =
+ interfaceNames.stream().filter(v -> !concreteNames.contains(v)).collect(Collectors.toList());
+
+ inInterfaceNotClass.forEach(v -> System.out.println("Missing in class: "+v));
+
+
}
}
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2ClientAuthenticableProfileConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
index 97e86a7..2f51f22 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
@@ -33,7 +33,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import com.google.common.base.Predicates;
import com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod;
-import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
import net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration;
import net.shibboleth.oidc.authn.principal.AuthenticationContextClassReferencePrincipal;
import net.shibboleth.oidc.jwt.claims.ClaimsValidator;
@@ -52,8 +51,7 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
* Base class for OAuth profile configurations that support OAuth-defined client authentication methods.
*/
public abstract class AbstractOAuth2ClientAuthenticableProfileConfiguration
- extends AbstractConditionalProfileConfiguration implements OAuth2ClientAuthenticableProfileConfiguration,
- AuthenticationProfileConfiguration {
+ extends AbstractConditionalProfileConfiguration implements OAuth2ClientAuthenticableProfileConfiguration {
/** Enabled token endpoint authentication methods. */
@Nonnull private Function<ProfileRequestContext,Set<String>> tokenEndpointAuthMethodsLookupStrategy;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2TokenValidatingConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2TokenValidatingConfiguration.java
index 59280d8..4a826fb 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2TokenValidatingConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2TokenValidatingConfiguration.java
@@ -24,7 +24,6 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
import net.shibboleth.oidc.jwt.claims.ClaimsValidator;
import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenValidatingProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -37,7 +36,7 @@ import net.shibboleth.utilities.java.support.logic.FunctionSupport;
* @since 2.0.0
*/
public class AbstractOAuth2TokenValidatingConfiguration extends AbstractOAuth2ClientAuthenticableProfileConfiguration
- implements OAuth2TokenValidatingProfileConfiguration, OverriddenIssuerProfileConfiguration {
+ implements OAuth2TokenValidatingProfileConfiguration {
/** Lookup function to override issuer value. */
@Nonnull private Function<ProfileRequestContext,String> issuerLookupStrategy;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenAudienceConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenAudienceConfiguration.java
index fbbe930..bacac03 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenAudienceConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenAudienceConfiguration.java
@@ -31,9 +31,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import com.google.common.base.Predicates;
import net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration;
-import net.shibboleth.idp.profile.config.AttributeResolvingProfileConfiguration;
-import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AccessTokenProducingProfileConfiguration;
import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenAudienceProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
@@ -44,9 +41,8 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
/**
* Implementation of an OAuth 2.0 token "audience" profile configuration.
*/
-public class OAuth2TokenAudienceConfiguration extends AbstractConditionalProfileConfiguration
- implements OverriddenIssuerProfileConfiguration, OAuth2AccessTokenProducingProfileConfiguration,
- AttributeResolvingProfileConfiguration, OAuth2TokenAudienceProfileConfiguration {
+public class OAuth2TokenAudienceConfiguration extends AbstractConditionalProfileConfiguration
+ implements OAuth2TokenAudienceProfileConfiguration {
/** Lookup function to override issuer value. */
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list