[java-oidc-common] branch dev/JCOMOIDC-66 updated: Move concrete classes into impl
Phil Smart
philip.smart at jisc.ac.uk
Tue Mar 21 12:05:27 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=b20eb002062f8bdd0b5d9f42bdbb3f4a5a94d42b
The following commit(s) were added to refs/heads/dev/JCOMOIDC-66 by this push:
new b20eb00 Move concrete classes into impl
b20eb00 is described below
commit b20eb002062f8bdd0b5d9f42bdbb3f4a5a94d42b
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Tue Mar 21 12:05:21 2023 +0000
Move concrete classes into impl
---
.../impl/BasicJOSEObjectCredentialResolver.java | 1 +
.../impl/BaseJWTSignatureSecurityHandler.java | 2 +-
.../oidc/security/impl/AbstractHandlerTest.java | 2 +-
...=> OIDCAuthenticationProfileConfiguration.java} | 14 ++------
...uthenticationProviderProfileConfiguration.java} | 2 +-
...nticationRelyingPartyProfileConfiguration.java} | 4 +--
...tionRelyingPartyProxyProfileConfiguration.java} | 5 +--
...IDCDynamicRegistrationProfileConfiguration.java | 3 ++
...java => OIDCFlowAwareProfileConfiguration.java} | 11 ++++---
.../OIDCIDTokenProducingProfileConfiguration.java | 3 +-
.../profile/config/OIDCProfileConfiguration.java | 15 ++-------
...IDCProviderInformationProfileConfiguration.java | 17 ++++++++++
.../OIDCPublishKeySetProfileConfiguration.java} | 16 +++------
...ation.java => OIDCSSOProfileConfiguration.java} | 2 +-
....java => OIDCUserInfoProfileConfiguration.java} | 37 ++++++++-------------
.../config/logic/AllowPKCEPlainPredicate.java | 2 +-
.../AuthorizationCodeFlowEnabledPredicate.java | 2 +-
.../config/logic/EncodeConsentPredicate.java | 2 +-
.../logic/EncryptRequestObjectPredicate.java | 2 +-
.../config/logic/EncryptionOptionalPredicate.java | 6 ++--
.../EnforceRefreshTokenRotationPredicate.java | 2 +-
.../profile/config/logic/ForcePKCEPredicate.java | 2 +-
.../config/logic/HybridFlowEnabledPredicate.java | 2 +-
.../config/logic/ImplicitFlowEnabledPredicate.java | 2 +-
...udeIssuerInAuthenticationResponsePredicate.java | 2 +-
.../logic/RefreshTokensEnabledPredicate.java | 2 +-
.../config/logic/SignRequestObjectPredicate.java | 2 +-
...laimsSetManipulationStrategyLookupFunction.java | 2 +-
.../AccessTokenLifetimeLookupFunction.java | 4 +--
.../navigate/AccessTokenTypeLookupFunction.java | 4 +--
.../AcrClaimAlwaysEssentialLookupFunction.java | 2 +-
.../AlwaysIncludedAttributesLookupFunction.java | 2 +-
.../AudienceRestrictionsLookupFunction.java | 2 +-
...laimsSetManipulationStrategyLookupFunction.java | 2 +-
.../navigate/AuthzCodeLifetimeLookupFunction.java | 2 +-
.../navigate/ClaimsValidatorLookupFunction.java | 2 +-
.../DeniedUserInfoAttributesLookupFunction.java | 4 +--
.../navigate/EncodedAttributesLookupFunction.java | 2 +-
.../config/navigate/GrantTypesLookupFunction.java | 4 +--
.../navigate/IDTokenLifetimeLookupFunction.java | 2 +-
.../IDTokenManipulationStrategyLookupFunction.java | 2 +-
.../IssuedClaimsValidatorLookupFunction.java | 2 +-
...laimsSetManipulationStrategyLookupFunction.java | 2 +-
.../RefreshTokenLifetimeLookupFunction.java | 2 +-
.../RegistrationMetadataPolicyLookupFunction.java | 2 +-
.../RegistrationValidityPeriodLookupFunction.java | 2 +-
.../navigate/RevocationLifetimeLookupFunction.java | 2 +-
.../navigate/RevocationMethodLookupFunction.java | 4 +--
.../SecretExpirationPeriodLookupFunction.java | 2 +-
.../TokenEndpointAuthMethodLookupFunction.java | 2 +-
.../oidc/profile/encoding/OIDCMessageEncoder.java | 2 +-
...orizationCodeProducingProfileConfiguration.java | 16 +++++++++
...> OAuth2AuthorizationProfileConfiguration.java} | 4 +--
...va => OAuth2FlowAwareProfileConfiguration.java} | 9 ++---
.../oauth2/config/OAuth2ProfileConfiguration.java | 36 +-------------------
...th2TokenIntrospectionProfileConfiguration.java} | 15 ++-------
.../config/OAuth2TokenProfileConfiguration.java | 4 +--
...OAuth2TokenRevocationProfileConfiguration.java} | 38 +++++++++++-----------
.../config/OIDCCoreProtocolConfigurationTest.java | 1 +
.../OAuth2TokenRevocationConfigurationTest.java | 2 ++
.../config/impl}/AbstractOIDCSSOConfiguration.java | 8 +++--
.../impl}/OIDCAuthorizationConfiguration.java | 11 ++++---
.../OIDCDynamicRegistrationConfiguration.java | 6 ++--
.../OIDCProviderInformationConfiguration.java | 5 +--
.../impl}/OIDCPublishKeySetConfiguration.java | 6 ++--
.../config/impl}/OIDCUserInfoConfiguration.java | 26 ++++-----------
.../encoding/impl/HTTPPostAuthnRequestEncoder.java | 2 +-
.../impl/HTTPRedirectAuthnRequestEncoder.java | 2 +-
...AuthenticationRequestMessageEncoderFactory.java | 4 +--
.../impl/PopulateJWTDecryptionParameters.java | 2 +-
.../impl/PopulateJWTEncryptionParameters.java | 2 +-
...pulateJWTSignatureSigningParametersHandler.java | 2 +-
...th2ClientAuthenticableProfileConfiguration.java | 3 +-
...bstractOAuth2FlowAwareProfileConfiguration.java | 9 ++---
...AbstractOAuth2TokenValidatingConfiguration.java | 2 +-
.../impl}/OAuth2TokenAudienceConfiguration.java | 7 ++--
.../config/impl}/OAuth2TokenConfiguration.java | 5 +--
.../OAuth2TokenIntrospectionConfiguration.java | 6 ++--
.../impl}/OAuth2TokenRevocationConfiguration.java | 27 ++++-----------
...enticationRequestMessageEncoderFactoryTest.java | 4 +--
.../FormOutboundKeySetResponseMessageTest.java | 2 +-
81 files changed, 219 insertions(+), 267 deletions(-)
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java
index 11d8385..a61c3dc 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/credential/impl/BasicJOSEObjectCredentialResolver.java
@@ -262,6 +262,7 @@ public class BasicJOSEObjectCredentialResolver extends AbstractCriteriaFiltering
final UsageCriterion usageTypeCriterion = criteriaSet.get(UsageCriterion.class);
if (usageTypeCriterion == null) {
log.trace("No usage type criterion supplied, unable to derive client_secret credential");
+ return null;
}
final UsageType usageType = usageTypeCriterion.getUsage();
diff --git a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java
index bba35f0..c9f5347 100644
--- a/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java
+++ b/oidc-common-crypto-impl/src/main/java/net/shibboleth/oidc/security/impl/BaseJWTSignatureSecurityHandler.java
@@ -39,7 +39,7 @@ import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata;
import com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.oidc.security.credential.ClientSecretCredential;
import net.shibboleth.oidc.security.jose.context.SecurityParametersContext;
import net.shibboleth.oidc.security.jose.criterion.ClientInformationCriterion;
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/AbstractHandlerTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/AbstractHandlerTest.java
index 78264ee..f0b1ce3 100644
--- a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/AbstractHandlerTest.java
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/impl/AbstractHandlerTest.java
@@ -28,7 +28,7 @@ import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.oidc.security.impl.support.TestCredentialHelper;
/** Abstract class for tests that require context setup appropriate for message handlers.*/
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProfileConfiguration.java
similarity index 87%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationConfiguration.java
rename to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProfileConfiguration.java
index c8da2fb..860fa07 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProfileConfiguration.java
@@ -28,12 +28,12 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
-/** Generic configuration for an OIDC authentication request.*/
-public interface OIDCAuthenticationConfiguration extends OAuth2AuthorizationConfiguration {
+/** Generic configuration for an OIDC 1.0 authentication request.*/
+public interface OIDCAuthenticationProfileConfiguration extends OAuth2AuthorizationProfileConfiguration {
/**
@@ -97,13 +97,5 @@ public interface OIDCAuthenticationConfiguration extends OAuth2AuthorizationConf
@Nonnull @NonnullElements @NotLive Set<String> getAdditionalAudiencesForIdToken(
@Nullable final ProfileRequestContext profileRequestContext);
-// /**
-// * 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/OIDCAuthenticationProviderConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderProfileConfiguration.java
similarity index 97%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderConfiguration.java
rename to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderProfileConfiguration.java
index c547199..60e1e2b 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationProviderProfileConfiguration.java
@@ -32,7 +32,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
*
* <p>This is specific to the role of the OpenID Provider (OP).</p>
*/
-public interface OIDCAuthenticationProviderConfiguration extends OIDCAuthenticationConfiguration {
+public interface OIDCAuthenticationProviderProfileConfiguration extends OIDCAuthenticationProfileConfiguration {
/**
* 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/OIDCAuthenticationRelyingPartyConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProfileConfiguration.java
similarity index 92%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyConfiguration.java
rename to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProfileConfiguration.java
index 487bf2e..1763d80 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProfileConfiguration.java
@@ -27,7 +27,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
*
* <p>This is specific to the role of the RelyingParty (RP).</p>
*/
-public interface OIDCAuthenticationRelyingPartyConfiguration extends OIDCAuthenticationConfiguration {
+public interface OIDCAuthenticationRelyingPartyProfileConfiguration extends OIDCAuthenticationProfileConfiguration {
/**
* Get the HTTP request method for the UserInfo request. Both GET and POST are supported.
@@ -53,7 +53,7 @@ public interface OIDCAuthenticationRelyingPartyConfiguration extends OIDCAuthent
boolean isRetrieveUserInfoEndpointClaims(@Nonnull final ProfileRequestContext profileRequestContext);
/**
- * Should authentication request parameters should be passed in a single, self contained, JWT?
+ * Should OpenID specific authentication request parameters should be passed in a single, self contained, JWT?
*
* @param profileRequestContext the profile request context
*
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyProfileConfiguration.java
similarity index 91%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyConfiguration.java
rename to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyProfileConfiguration.java
index d7bb166..0c68284 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthenticationRelyingPartyProxyProfileConfiguration.java
@@ -23,8 +23,9 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-/** Configuration for an OIDC authentication request specific to a Proxying Relying Party.*/
-public interface OIDCAuthenticationRelyingPartyProxyConfiguration extends OIDCAuthenticationRelyingPartyConfiguration {
+/** 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
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCDynamicRegistrationProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCDynamicRegistrationProfileConfiguration.java
index 761359f..208d4fa 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCDynamicRegistrationProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCDynamicRegistrationProfileConfiguration.java
@@ -27,6 +27,9 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.oidc.metadata.policy.MetadataPolicy;
import net.shibboleth.utilities.java.support.annotation.constraint.NonNegative;
+/**
+ * Configuration of OpenID Connect Dynamic Client Registration 1.0.
+ */
public interface OIDCDynamicRegistrationProfileConfiguration extends OIDCProfileConfiguration{
/**
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCFlowAwareProfileConfiguration.java
similarity index 75%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProfileConfiguration.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCFlowAwareProfileConfiguration.java
index ff23ed7..d9176f8 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCFlowAwareProfileConfiguration.java
@@ -21,10 +21,14 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2ProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2FlowAwareProfileConfiguration;
-/** Common interface for OIDC Profile Configurations.*/
-public interface OIDCProfileConfiguration extends OAuth2ProfileConfiguration {
+/**
+ * Interface for profile configurations that understand OIDC specific authentication flows in addition to the OAuth 2.0
+ * flows described by the parent interface.
+ */
+public interface OIDCFlowAwareProfileConfiguration extends OIDCProfileConfiguration,
+ OAuth2FlowAwareProfileConfiguration {
/**
* Get whether implicit flow is supported by this profile.
@@ -34,6 +38,5 @@ public interface OIDCProfileConfiguration extends OAuth2ProfileConfiguration {
* @return whether implicit flow is supported by this profile
*/
boolean isHybridFlowEnabled(@Nullable final ProfileRequestContext profileRequestContext);
-
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java
index ed5afad..7539940 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java
@@ -32,8 +32,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
* Configuration common to ID Token producing profiles.
*/
public interface OIDCIDTokenProducingProfileConfiguration {
-
-
+
/**
* Get ID token lifetime.
*
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProfileConfiguration.java
index ff23ed7..f6cc117 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProfileConfiguration.java
@@ -17,23 +17,12 @@
package net.shibboleth.oidc.profile.config;
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
import net.shibboleth.oidc.profile.oauth2.config.OAuth2ProfileConfiguration;
-/** Common interface for OIDC Profile Configurations.*/
+/** Common interface for OpenID Connect 1.0 Profile Configurations.*/
public interface OIDCProfileConfiguration extends OAuth2ProfileConfiguration {
- /**
- * Get whether implicit flow is supported by this profile.
- *
- * @param profileRequestContext profile request context
- *
- * @return whether implicit flow is supported by this profile
- */
- boolean isHybridFlowEnabled(@Nullable final ProfileRequestContext profileRequestContext);
+
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProviderInformationProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProviderInformationProfileConfiguration.java
index c8e3e8f..1c2a3d5 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProviderInformationProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProviderInformationProfileConfiguration.java
@@ -1,6 +1,23 @@
+/*
+ * 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;
+/** OpenID Connect Provider Configuration.*/
public interface OIDCProviderInformationProfileConfiguration {
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCPublishKeySetProfileConfiguration.java
similarity index 63%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCPublishKeySetProfileConfiguration.java
index adfd952..b0b3d08 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCPublishKeySetProfileConfiguration.java
@@ -15,20 +15,12 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.encoding;
-import java.util.function.Predicate;
+package net.shibboleth.oidc.profile.config;
-import org.opensaml.messaging.encoder.MessageEncoder;
-
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration.HttpRequestMethod;
-
-/**
- * An OIDC message encoder interface which requires implementations to test if the request
- * method is supported by the encoder.
- *
- * @since 2.2.0
+/**
+ * Configuration of an OpenID published key set document.
*/
-public interface OIDCMessageEncoder extends Predicate<HttpRequestMethod>, MessageEncoder {
+public interface OIDCPublishKeySetProfileConfiguration {
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOProfileConfiguration.java
similarity index 96%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOConfiguration.java
rename to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOProfileConfiguration.java
index a703712..c7fdf0b 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSSOProfileConfiguration.java
@@ -22,7 +22,7 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
/** Profile configuration generic to all OIDC SSO profiles.*/
-public interface OIDCSSOConfiguration extends OIDCProfileConfiguration {
+public interface OIDCSSOProfileConfiguration extends OIDCProfileConfiguration {
/**
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCUserInfoProfileConfiguration.java
similarity index 60%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCUserInfoProfileConfiguration.java
index ed5afad..181b0b4 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCUserInfoProfileConfiguration.java
@@ -17,45 +17,34 @@
package net.shibboleth.oidc.profile.config;
-import java.time.Duration;
-import java.util.Map;
-import java.util.function.BiFunction;
+import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
-/**
- * Configuration common to ID Token producing profiles.
+/**
+ * Configuration for an OpenID Connect core protocol UserInfo endpoint.
*/
-public interface OIDCIDTokenProducingProfileConfiguration {
+//TODO encryption settings move out of extends OIDCSSOProfileConfiguration
+public interface OIDCUserInfoProfileConfiguration {
/**
- * Get ID token lifetime.
+ * Get the set of attribute IDs which should be omitted from the UserInfo token.
*
- * <p>Defaults to 1 hour.</p>
+ * <p>Default behavior is to include all claims, but omiited claims also affect the set that
+ * may need to be embedded for recovery into the access/refresh tokens.</p>
*
* @param profileRequestContext profile request context
*
- * @return ID token lifetime
+ * @return the attribute IDs to omit from UserInfo token
*/
- @Positive @Nonnull Duration getIDTokenLifetime(@Nullable final ProfileRequestContext profileRequestContext);
-
- /**
- * Get the bi-function for manipulating id_token claims.
- *
- * @param profileRequestContext profile request context
- *
- * @return the bi-function for manipulating id_token claims
- *
- * @since 2.1.0
- */
- @Nonnull
- public BiFunction<ProfileRequestContext,Map<String,Object>,Map<String,Object>> getIDTokenManipulationStrategy(
+ @Nonnull @NonnullElements @NotLive public Set<String> getDeniedUserInfoAttributes(
@Nullable final ProfileRequestContext profileRequestContext);
-
+
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AllowPKCEPlainPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AllowPKCEPlainPredicate.java
index 72b0ec9..a2fc00e 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AllowPKCEPlainPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AllowPKCEPlainPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AuthorizationCodeFlowEnabledPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AuthorizationCodeFlowEnabledPredicate.java
index f071231..be31cd0 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AuthorizationCodeFlowEnabledPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AuthorizationCodeFlowEnabledPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2FlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2FlowAwareProfileConfiguration;
/**
* A predicate implementation that forwards to {@link
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncodeConsentPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncodeConsentPredicate.java
index 07805ca..253d2c9 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncodeConsentPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncodeConsentPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptRequestObjectPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptRequestObjectPredicate.java
index a105b17..c14e39a 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptRequestObjectPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptRequestObjectPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/** A predicate that determines if the RequestObject JWT should be encrypted based on the profile configuration.*/
public class EncryptRequestObjectPredicate extends AbstractRelyingPartyPredicate {
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptionOptionalPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptionOptionalPredicate.java
index 9059830..9f930df 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptionOptionalPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EncryptionOptionalPredicate.java
@@ -24,9 +24,9 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCUserInfoConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenAudienceConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCUserInfoConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenAudienceConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EnforceRefreshTokenRotationPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EnforceRefreshTokenRotationPredicate.java
index d0d51b7..7304c9f 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EnforceRefreshTokenRotationPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/EnforceRefreshTokenRotationPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ForcePKCEPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ForcePKCEPredicate.java
index 2122f34..3996bdc 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ForcePKCEPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ForcePKCEPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
/**
* A predicate implementation that forwards to {@link AbstractOIDCSSOConfiguration#isForcePKCE(ProfileRequestContext)}.
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/HybridFlowEnabledPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/HybridFlowEnabledPredicate.java
index 5e9b3d4..6b53581 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/HybridFlowEnabledPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/HybridFlowEnabledPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2FlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2FlowAwareProfileConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ImplicitFlowEnabledPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ImplicitFlowEnabledPredicate.java
index b6c0771..f4bbc7e 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ImplicitFlowEnabledPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/ImplicitFlowEnabledPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2FlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2FlowAwareProfileConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/IncludeIssuerInAuthenticationResponsePredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/IncludeIssuerInAuthenticationResponsePredicate.java
index 50b6a63..eb43f5c 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/IncludeIssuerInAuthenticationResponsePredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/IncludeIssuerInAuthenticationResponsePredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/RefreshTokensEnabledPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/RefreshTokensEnabledPredicate.java
index 759475c..272199e 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/RefreshTokensEnabledPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/RefreshTokensEnabledPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2FlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2FlowAwareProfileConfiguration;
/**
* A predicate implementation that forwards to
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/SignRequestObjectPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/SignRequestObjectPredicate.java
index 659d320..1aacb81 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/SignRequestObjectPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/SignRequestObjectPredicate.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/** A predicate that determines if the RequestObject JWT should be signed based on the profile configuration.*/
public class SignRequestObjectPredicate extends AbstractRelyingPartyPredicate {
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenClaimsSetManipulationStrategyLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenClaimsSetManipulationStrategyLookupFunction.java
index a95a743..0bca0fd 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenClaimsSetManipulationStrategyLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenClaimsSetManipulationStrategyLookupFunction.java
@@ -27,7 +27,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenLifetimeLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenLifetimeLookupFunction.java
index afcbd32..e3c3374 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenLifetimeLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenLifetimeLookupFunction.java
@@ -26,8 +26,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenAudienceConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenAudienceConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenTypeLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenTypeLookupFunction.java
index 41a91ac..b518dd4 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenTypeLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AccessTokenTypeLookupFunction.java
@@ -24,8 +24,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenAudienceConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenAudienceConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AcrClaimAlwaysEssentialLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AcrClaimAlwaysEssentialLookupFunction.java
index 2dcb003..17e6f44 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AcrClaimAlwaysEssentialLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AcrClaimAlwaysEssentialLookupFunction.java
@@ -24,7 +24,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/**
* A predicate that returns {@link OIDCAuthorizationConfiguration#isAcrRequestAlwaysEssential(ProfileRequestContext)}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AlwaysIncludedAttributesLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AlwaysIncludedAttributesLookupFunction.java
index a6bc26b..df2307d 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AlwaysIncludedAttributesLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AlwaysIncludedAttributesLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
/**
* A function that obtains
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AudienceRestrictionsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AudienceRestrictionsLookupFunction.java
index 1fb97a7..77e3a7c 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AudienceRestrictionsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AudienceRestrictionsLookupFunction.java
@@ -30,7 +30,7 @@ import com.google.common.collect.ImmutableCollection.Builder;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthorizationCodeClaimsSetManipulationStrategyLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthorizationCodeClaimsSetManipulationStrategyLookupFunction.java
index 3f7272e..fcd0423 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthorizationCodeClaimsSetManipulationStrategyLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthorizationCodeClaimsSetManipulationStrategyLookupFunction.java
@@ -27,7 +27,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthzCodeLifetimeLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthzCodeLifetimeLookupFunction.java
index a934440..6cd7a85 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthzCodeLifetimeLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/AuthzCodeLifetimeLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClaimsValidatorLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClaimsValidatorLookupFunction.java
index 2c58a50..1d6bded 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClaimsValidatorLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClaimsValidatorLookupFunction.java
@@ -25,7 +25,7 @@ import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.oidc.jwt.claims.ClaimsValidator;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2ClientAuthenticableProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2ClientAuthenticableProfileConfiguration;
/**
* A function that obtains
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DeniedUserInfoAttributesLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DeniedUserInfoAttributesLookupFunction.java
index 0f1bf25..e1e8f37 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DeniedUserInfoAttributesLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/DeniedUserInfoAttributesLookupFunction.java
@@ -26,8 +26,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCUserInfoConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCUserInfoConfiguration;
/**
* A function that obtains
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/EncodedAttributesLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/EncodedAttributesLookupFunction.java
index 47e71eb..19762eb 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/EncodedAttributesLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/EncodedAttributesLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
/**
* A function that obtains
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java
index 72f8c9d..f1fff90 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/GrantTypesLookupFunction.java
@@ -29,8 +29,8 @@ import com.nimbusds.oauth2.sdk.GrantType;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenConfiguration;
/**
* A function that obtains
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenLifetimeLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenLifetimeLookupFunction.java
index c676659..7f7d76b 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenLifetimeLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenLifetimeLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenManipulationStrategyLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenManipulationStrategyLookupFunction.java
index d79b54c..82a5913 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenManipulationStrategyLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IDTokenManipulationStrategyLookupFunction.java
@@ -27,7 +27,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IssuedClaimsValidatorLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IssuedClaimsValidatorLookupFunction.java
index f2b4041..c667fb7 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IssuedClaimsValidatorLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/IssuedClaimsValidatorLookupFunction.java
@@ -25,7 +25,7 @@ import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.oidc.jwt.claims.ClaimsValidator;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2TokenValidatingConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2TokenValidatingConfiguration;
/**
* A function that obtains
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenClaimsSetManipulationStrategyLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenClaimsSetManipulationStrategyLookupFunction.java
index 1bdf1f6..adbfdb1 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenClaimsSetManipulationStrategyLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenClaimsSetManipulationStrategyLookupFunction.java
@@ -27,7 +27,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenLifetimeLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenLifetimeLookupFunction.java
index 84c4b42..555addf 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenLifetimeLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RefreshTokenLifetimeLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationMetadataPolicyLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationMetadataPolicyLookupFunction.java
index 6ccd9cc..83c6e38 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationMetadataPolicyLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationMetadataPolicyLookupFunction.java
@@ -27,7 +27,7 @@ import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.oidc.metadata.policy.MetadataPolicy;
-import net.shibboleth.oidc.profile.config.OIDCDynamicRegistrationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCDynamicRegistrationConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationValidityPeriodLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationValidityPeriodLookupFunction.java
index 544fb57..00385f6 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationValidityPeriodLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RegistrationValidityPeriodLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCDynamicRegistrationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCDynamicRegistrationConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java
index b648d3e..863c2ec 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenRevocationConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenRevocationConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationMethodLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationMethodLookupFunction.java
index dd6baa2..98cd8f7 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationMethodLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationMethodLookupFunction.java
@@ -24,8 +24,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenRevocationConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenRevocationConfiguration.OAuth2TokenRevocationMethod;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenRevocationConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenRevocationConfiguration.OAuth2TokenRevocationMethod;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SecretExpirationPeriodLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SecretExpirationPeriodLookupFunction.java
index da1d390..6f858a0 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SecretExpirationPeriodLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/SecretExpirationPeriodLookupFunction.java
@@ -26,7 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCDynamicRegistrationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCDynamicRegistrationConfiguration;
/**
* A function that returns
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointAuthMethodLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointAuthMethodLookupFunction.java
index 0e9bfb1..61f7087 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointAuthMethodLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/TokenEndpointAuthMethodLookupFunction.java
@@ -29,7 +29,7 @@ import com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2ClientAuthenticableProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2ClientAuthenticableProfileConfiguration;
/**
* A function that obtains
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java
index adfd952..ff28db7 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java
@@ -21,7 +21,7 @@ import java.util.function.Predicate;
import org.opensaml.messaging.encoder.MessageEncoder;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration.HttpRequestMethod;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
/**
* An OIDC message encoder interface which requires implementations to test if the request
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationCodeProducingProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationCodeProducingProfileConfiguration.java
index 4542cee..bf04487 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationCodeProducingProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationCodeProducingProfileConfiguration.java
@@ -1,3 +1,19 @@
+/*
+ * 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.oauth2.config;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationProfileConfiguration.java
similarity index 95%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationConfiguration.java
rename to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationProfileConfiguration.java
index b1507ba..388e980 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2AuthorizationProfileConfiguration.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.oidc.profile.config.OIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCSSOProfileConfiguration;
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;
@@ -36,7 +36,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
* <p>This is common to both Authorization Server and Client roles.</p>
*
*/
-public interface OAuth2AuthorizationConfiguration extends OIDCSSOConfiguration {
+public interface OAuth2AuthorizationProfileConfiguration extends OIDCSSOProfileConfiguration {
/** 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/OAuth2ProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2FlowAwareProfileConfiguration.java
similarity index 89%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ProfileConfiguration.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2FlowAwareProfileConfiguration.java
index 664a761..c5a85de 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2FlowAwareProfileConfiguration.java
@@ -21,9 +21,11 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
-/** Common interface for Oauth 2.0 Profile Configurations.*/
-public interface OAuth2ProfileConfiguration {
-
+/**
+ * Interface for profile configurations that understand OAuth 2.0 authorization grants corresponding to OIDC
+ * authentication flows.
+ */
+public interface OAuth2FlowAwareProfileConfiguration extends OAuth2ProfileConfiguration {
/**
* Get whether authorization code flow is supported by this profile.
@@ -52,6 +54,5 @@ public interface OAuth2ProfileConfiguration {
* @return whether refresh tokens are supported by this profile
*/
boolean isRefreshTokensEnabled(@Nullable final ProfileRequestContext profileRequestContext);
-
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ProfileConfiguration.java
index 664a761..87f029b 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2ProfileConfiguration.java
@@ -17,41 +17,7 @@
package net.shibboleth.oidc.profile.oauth2.config;
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
-/** Common interface for Oauth 2.0 Profile Configurations.*/
+/** Common interface for OAuth 2.0 Profile Configurations.*/
public interface OAuth2ProfileConfiguration {
-
- /**
- * Get whether authorization code flow is supported by this profile.
- *
- * @param profileRequestContext profile request context
- *
- * @return whether authorization code flow is supported by this profile
- */
- boolean isAuthorizationCodeFlowEnabled(@Nullable final ProfileRequestContext profileRequestContext);
-
-
- /**
- * Get whether hybrid flow is supported by this profile.
- *
- * @param profileRequestContext profile request context
- *
- * @return whether hybrid flow is supported by this profile
- */
- boolean isImplicitFlowEnabled(@Nullable final ProfileRequestContext profileRequestContext);
-
- /**
- * Get whether refresh tokens are supported by this profile.
- *
- * @param profileRequestContext profile request context
- *
- * @return whether refresh tokens are supported by this profile
- */
- boolean isRefreshTokensEnabled(@Nullable final ProfileRequestContext profileRequestContext);
-
-
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionProfileConfiguration.java
similarity index 63%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionProfileConfiguration.java
index adfd952..f86680d 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/OIDCMessageEncoder.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionProfileConfiguration.java
@@ -15,20 +15,11 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.encoding;
-
-import java.util.function.Predicate;
-
-import org.opensaml.messaging.encoder.MessageEncoder;
-
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration.HttpRequestMethod;
+package net.shibboleth.oidc.profile.oauth2.config;
/**
- * An OIDC message encoder interface which requires implementations to test if the request
- * method is supported by the encoder.
- *
- * @since 2.2.0
+ * Profile configuration for OAuth2 Token Introspection.
*/
-public interface OIDCMessageEncoder extends Predicate<HttpRequestMethod>, MessageEncoder {
+public interface OAuth2TokenIntrospectionProfileConfiguration {
}
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 92d5fbf..8890106 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
@@ -26,7 +26,7 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
-import net.shibboleth.oidc.profile.config.OIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCSSOProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
@@ -34,7 +34,7 @@ import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
/**
* OIDC-aware OAuth 2.0 token endpoint profile configuration.
*/
-public interface OAuth2TokenProfileConfiguration extends OIDCSSOConfiguration,
+public interface OAuth2TokenProfileConfiguration extends OIDCSSOProfileConfiguration,
OAuth2RefreshTokenProducingProfileConfiguration {
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationProfileConfiguration.java
similarity index 62%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationProfileConfiguration.java
index ed5afad..0b1df61 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCIDTokenProducingProfileConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationProfileConfiguration.java
@@ -15,47 +15,47 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.config;
+
+package net.shibboleth.oidc.profile.oauth2.config;
import java.time.Duration;
-import java.util.Map;
-import java.util.function.BiFunction;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenRevocationConfiguration.OAuth2TokenRevocationMethod;
import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
-/**
- * Configuration common to ID Token producing profiles.
+/**
+ * Configuration for the OAuth 2.0 Token Revocation profile.
*/
-public interface OIDCIDTokenProducingProfileConfiguration {
-
+public interface OAuth2TokenRevocationProfileConfiguration {
/**
- * Get ID token lifetime.
+ * Get the revocation method used when revoking a token.
*
- * <p>Defaults to 1 hour.</p>
+ * @param profileRequestContext profile request context.
+ * @return The revocation method used when revoking a token.
*
- * @param profileRequestContext profile request context
- *
- * @return ID token lifetime
+ * @since 2.1.0
*/
- @Positive @Nonnull Duration getIDTokenLifetime(@Nullable final ProfileRequestContext profileRequestContext);
+ public OAuth2TokenRevocationMethod getRevocationMethod(
+ @Nullable final ProfileRequestContext profileRequestContext);
/**
- * Get the bi-function for manipulating id_token claims.
+ * Get revocation lifetime.
+ *
+ * <p>Defaults to 6 hours.</p>
*
* @param profileRequestContext profile request context
*
- * @return the bi-function for manipulating id_token claims
+ * @return revocation lifetime
*
* @since 2.1.0
*/
- @Nonnull
- public BiFunction<ProfileRequestContext,Map<String,Object>,Map<String,Object>> getIDTokenManipulationStrategy(
- @Nullable final ProfileRequestContext profileRequestContext);
-
+ @Positive @Nonnull
+ public Duration getRevocationLifetime(@Nullable final ProfileRequestContext profileRequestContext);
+
}
diff --git a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/OIDCCoreProtocolConfigurationTest.java b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/OIDCCoreProtocolConfigurationTest.java
index 4ff72fd..d9d1822 100644
--- a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/OIDCCoreProtocolConfigurationTest.java
+++ b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/OIDCCoreProtocolConfigurationTest.java
@@ -26,6 +26,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.oidc.authn.principal.AuthenticationContextClassReferencePrincipal;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
/**
diff --git a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationConfigurationTest.java b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationConfigurationTest.java
index 9b5fed0..00188e3 100644
--- a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationConfigurationTest.java
+++ b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationConfigurationTest.java
@@ -20,6 +20,8 @@ package net.shibboleth.oidc.profile.oauth2.config;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.oidc.profile.oauth2.config.impl.OAuth2TokenRevocationConfiguration;
+
import org.testng.Assert;
/**
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/AbstractOIDCSSOConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/AbstractOIDCSSOConfiguration.java
similarity index 98%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/AbstractOIDCSSOConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/AbstractOIDCSSOConfiguration.java
index 8937536..122867d 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/AbstractOIDCSSOConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/AbstractOIDCSSOConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.config;
+package net.shibboleth.oidc.profile.config.impl;
import java.time.Duration;
import java.util.Collection;
@@ -36,9 +36,11 @@ 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.oauth2.config.AbstractOAuth2FlowAwareProfileConfiguration;
+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;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
@@ -51,7 +53,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 OIDCSSOConfiguration, OIDCIDTokenProducingProfileConfiguration,
+ implements OIDCSSOProfileConfiguration, OIDCIDTokenProducingProfileConfiguration,
AuthenticationProfileConfiguration, OverriddenIssuerProfileConfiguration,
OAuth2AccessTokenProducingProfileConfiguration, OAuth2RefreshTokenProducingProfileConfiguration,
AttributeResolvingProfileConfiguration {
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthorizationConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCAuthorizationConfiguration.java
similarity index 98%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthorizationConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCAuthorizationConfiguration.java
index e2e1ebc..42c6b62 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCAuthorizationConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCAuthorizationConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.config;
+package net.shibboleth.oidc.profile.config.impl;
import java.security.Principal;
import java.time.Duration;
@@ -36,6 +36,8 @@ 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.oauth2.config.OAuth2AuthorizationCodeProducingProfileConfiguration;
import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenHandlingProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -53,9 +55,10 @@ 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 OIDCAuthenticationRelyingPartyProxyConfiguration, OIDCAuthenticationProviderConfiguration,
- OAuth2AuthorizationCodeProducingProfileConfiguration, OAuth2TokenHandlingProfileConfiguration,
- AuthenticationProfileConfiguration, OverriddenIssuerProfileConfiguration {
+ implements OIDCAuthenticationRelyingPartyProxyProfileConfiguration,
+ OIDCAuthenticationProviderProfileConfiguration, OAuth2AuthorizationCodeProducingProfileConfiguration,
+ OAuth2TokenHandlingProfileConfiguration, AuthenticationProfileConfiguration,
+ OverriddenIssuerProfileConfiguration {
/** 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/config/OIDCDynamicRegistrationConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCDynamicRegistrationConfiguration.java
similarity index 96%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCDynamicRegistrationConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCDynamicRegistrationConfiguration.java
index debc9fc..ac0b3c3 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCDynamicRegistrationConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCDynamicRegistrationConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.config;
+package net.shibboleth.oidc.profile.config.impl;
import java.time.Duration;
import java.util.Map;
@@ -28,7 +28,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
import net.shibboleth.oidc.metadata.policy.MetadataPolicy;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2FlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCDynamicRegistrationProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2FlowAwareProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonNegative;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -76,6 +77,7 @@ public class OIDCDynamicRegistrationConfiguration extends AbstractOAuth2FlowAwar
setRegistrationValidityPeriod(Duration.ofHours(24));
setSecretExpirationPeriod(Duration.ofDays(365));
metadataPolicyLookupStrategy = FunctionSupport.constant(null);
+ registrationValidityPeriodLookupStrategy = FunctionSupport.constant(null);
}
/** {@inheritDoc} */
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProviderInformationConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCProviderInformationConfiguration.java
similarity index 93%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProviderInformationConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCProviderInformationConfiguration.java
index a5770f6..d365b36 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCProviderInformationConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCProviderInformationConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.config;
+package net.shibboleth.oidc.profile.config.impl;
import java.util.function.Function;
@@ -26,6 +26,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration;
import net.shibboleth.idp.profile.config.OverriddenIssuerProfileConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCProviderInformationProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.FunctionSupport;
@@ -34,7 +35,7 @@ import net.shibboleth.utilities.java.support.logic.FunctionSupport;
* Profile configuration for the OpenID Connect Provider Configuration.
*/
public class OIDCProviderInformationConfiguration extends AbstractConditionalProfileConfiguration
- implements OverriddenIssuerProfileConfiguration {
+ implements OIDCProviderInformationProfileConfiguration, OverriddenIssuerProfileConfiguration {
/** OIDC base protocol URI. Section 4 is relevant. */
public static final String PROTOCOL_URI = "http://openid.net/specs/openid-connect-discovery-1_0.html";
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCPublishKeySetConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCPublishKeySetConfiguration.java
similarity index 87%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCPublishKeySetConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCPublishKeySetConfiguration.java
index bec75ed..5cc50c7 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCPublishKeySetConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCPublishKeySetConfiguration.java
@@ -15,17 +15,19 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.config;
+package net.shibboleth.oidc.profile.config.impl;
import javax.annotation.Nonnull;
import net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCPublishKeySetProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
/**
* Profile configuration for publishing OP key set.
*/
-public class OIDCPublishKeySetConfiguration extends AbstractConditionalProfileConfiguration {
+public class OIDCPublishKeySetConfiguration extends AbstractConditionalProfileConfiguration
+ implements OIDCPublishKeySetProfileConfiguration {
/** OIDC base protocol URI. Section 3 jwks_uri is the relevant. */
public static final String PROTOCOL_URI =
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCUserInfoConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCUserInfoConfiguration.java
similarity index 88%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCUserInfoConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCUserInfoConfiguration.java
index 284ab67..3688072 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCUserInfoConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/config/impl/OIDCUserInfoConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.config;
+package net.shibboleth.oidc.profile.config.impl;
import java.util.Collection;
import java.util.Collections;
@@ -31,7 +31,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import com.google.common.base.Predicates;
import net.shibboleth.idp.profile.config.AttributeResolvingProfileConfiguration;
-import net.shibboleth.oidc.profile.oauth2.config.AbstractOAuth2TokenValidatingConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCUserInfoProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.impl.AbstractOAuth2TokenValidatingConfiguration;
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;
@@ -43,7 +44,7 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
* Profile configuration for the OpenID Connect core protocol userinfo endpoint.
*/
public class OIDCUserInfoConfiguration extends AbstractOAuth2TokenValidatingConfiguration
- implements AttributeResolvingProfileConfiguration {
+ implements OIDCUserInfoProfileConfiguration, AttributeResolvingProfileConfiguration {
/** OIDC base protocol URI. */
@Nonnull @NotEmpty public static final String PROTOCOL_URI = "http://openid.net/specs/openid-connect-core-1_0.html";
@@ -104,13 +105,7 @@ public class OIDCUserInfoConfiguration extends AbstractOAuth2TokenValidatingConf
resolveAttributesPredicate = Constraint.isNotNull(condition, "Resolve attributes predicate cannot be null");
}
- /**
- * 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
- */
+ @Override
public boolean isEncryptionOptional(@Nullable final ProfileRequestContext profileRequestContext) {
return encryptionOptionalPredicate.test(profileRequestContext);
}
@@ -133,16 +128,7 @@ public class OIDCUserInfoConfiguration extends AbstractOAuth2TokenValidatingConf
encryptionOptionalPredicate = Constraint.isNotNull(condition, "Encryption optional predicate cannot be null");
}
- /**
- * Get the set of attribute IDs which should be omitted from the UserInfo token.
- *
- * <p>Default behavior is to include all claims, but omiited claims also affect the set that
- * may need to be embedded for recovery into the access/refresh tokens.</p>
- *
- * @param profileRequestContext profile request context
- *
- * @return the attribute IDs to omit from UserInfo token
- */
+ @Override
@Nonnull @NonnullElements @NotLive public Set<String> getDeniedUserInfoAttributes(
@Nullable final ProfileRequestContext profileRequestContext) {
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPPostAuthnRequestEncoder.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPPostAuthnRequestEncoder.java
index 13df3e4..1f49834 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPPostAuthnRequestEncoder.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPPostAuthnRequestEncoder.java
@@ -35,7 +35,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration.HttpRequestMethod;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.codec.HTMLEncoder;
import net.shibboleth.utilities.java.support.collection.Pair;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPRedirectAuthnRequestEncoder.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPRedirectAuthnRequestEncoder.java
index 791e39f..0406c82 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPRedirectAuthnRequestEncoder.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/encoding/impl/HTTPRedirectAuthnRequestEncoder.java
@@ -30,7 +30,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration.HttpRequestMethod;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
import net.shibboleth.utilities.java.support.net.HttpServletSupport;
import net.shibboleth.utilities.java.support.net.URLBuilder;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactory.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactory.java
index 54ab901..853827d 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactory.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactory.java
@@ -32,9 +32,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.encoding.OIDCMessageEncoder;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration.HttpRequestMethod;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java
index 956c331..19a90df 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTDecryptionParameters.java
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.oidc.security.credential.ClientSecretCredential;
import net.shibboleth.oidc.security.jose.DecryptionConfiguration;
import net.shibboleth.oidc.security.jose.DecryptionParameters;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java
index 7659769..94d9428 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTEncryptionParameters.java
@@ -41,7 +41,7 @@ import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.oidc.metadata.context.OIDCMetadataContext;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.config.logic.EncryptionOptionalPredicate;
import net.shibboleth.oidc.security.credential.ClientSecretCredential;
import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java
index 2f7c575..862b472 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/PopulateJWTSignatureSigningParametersHandler.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.oidc.metadata.context.OIDCMetadataContext;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.oidc.security.credential.ClientSecretCredential;
import net.shibboleth.oidc.security.jose.SignatureSigningConfiguration;
import net.shibboleth.oidc.security.jose.SignatureSigningParameters;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2ClientAuthenticableProfileConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
similarity index 99%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
index 618595a..97e86a7 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2ClientAuthenticableProfileConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.oauth2.config;
+package net.shibboleth.oidc.profile.oauth2.config.impl;
import java.security.Principal;
import java.util.Collection;
@@ -37,6 +37,7 @@ 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;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2ClientAuthenticableProfileConfiguration;
import net.shibboleth.oidc.security.credential.ClientSecretCredential;
import net.shibboleth.utilities.java.support.annotation.constraint.NonNegative;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2FlowAwareProfileConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2FlowAwareProfileConfiguration.java
similarity index 95%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2FlowAwareProfileConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2FlowAwareProfileConfiguration.java
index b4ca87d..5fd3a00 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2FlowAwareProfileConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2FlowAwareProfileConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.oauth2.config;
+package net.shibboleth.oidc.profile.oauth2.config.impl;
import java.util.function.Predicate;
@@ -26,7 +26,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import com.google.common.base.Predicates;
-import net.shibboleth.oidc.profile.config.OIDCProfileConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCFlowAwareProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2FlowAwareProfileConfiguration;
import net.shibboleth.utilities.java.support.logic.Constraint;
/**
@@ -34,8 +35,8 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
* configurations.
*/
public abstract class AbstractOAuth2FlowAwareProfileConfiguration
- extends AbstractOAuth2ClientAuthenticableProfileConfiguration implements OIDCProfileConfiguration,
- OAuth2ProfileConfiguration {
+ extends AbstractOAuth2ClientAuthenticableProfileConfiguration implements OIDCFlowAwareProfileConfiguration,
+ OAuth2FlowAwareProfileConfiguration {
/** Predicate used to indicate whether authorization code flow is supported by this profile. Default true. */
@Nonnull private Predicate<ProfileRequestContext> authorizationCodeFlowPredicate;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2TokenValidatingConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2TokenValidatingConfiguration.java
similarity index 98%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2TokenValidatingConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2TokenValidatingConfiguration.java
index e22c004..ff0e403 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/AbstractOAuth2TokenValidatingConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/AbstractOAuth2TokenValidatingConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.oauth2.config;
+package net.shibboleth.oidc.profile.oauth2.config.impl;
import java.util.function.Function;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenAudienceConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenAudienceConfiguration.java
similarity index 96%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenAudienceConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenAudienceConfiguration.java
index 57076f9..e895289 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenAudienceConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenAudienceConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.oauth2.config;
+package net.shibboleth.oidc.profile.oauth2.config.impl;
import java.time.Duration;
import java.util.function.Function;
@@ -31,6 +31,7 @@ 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.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -44,7 +45,7 @@ import net.shibboleth.utilities.java.support.primitive.StringSupport;
* to the parties intended to process them, as distinct from the clients that use them.</p>
*/
public class OAuth2TokenAudienceConfiguration extends AbstractConditionalProfileConfiguration
- implements OverriddenIssuerProfileConfiguration,
+ implements OverriddenIssuerProfileConfiguration, OAuth2AccessTokenProducingProfileConfiguration,
AttributeResolvingProfileConfiguration {
/** OAuth2 Token Revocation URI. */
@@ -175,6 +176,7 @@ public class OAuth2TokenAudienceConfiguration extends AbstractConditionalProfil
*
* @return access token type, or null for unspecified/opaque
*/
+ @Override
@Nullable @NotEmpty public String getAccessTokenType(@Nullable final ProfileRequestContext profileRequestContext) {
return accessTokenTypeLookupStrategy.apply(profileRequestContext);
}
@@ -206,6 +208,7 @@ public class OAuth2TokenAudienceConfiguration extends AbstractConditionalProfil
*
* @return access token lifetime
*/
+ @Override
@Positive @Nonnull
public Duration getAccessTokenLifetime(@Nullable final ProfileRequestContext profileRequestContext) {
final Duration lifetime = accessTokenLifetimeLookupStrategy.apply(profileRequestContext);
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenConfiguration.java
similarity index 97%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenConfiguration.java
index 4fa49f2..f709444 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.oauth2.config;
+package net.shibboleth.oidc.profile.oauth2.config.impl;
import java.util.Collection;
import java.util.Collections;
@@ -33,7 +33,8 @@ import org.opensaml.profile.context.ProfileRequestContext;
import com.google.common.base.Predicates;
import com.nimbusds.oauth2.sdk.GrantType;
-import net.shibboleth.oidc.profile.config.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.config.impl.AbstractOIDCSSOConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenProfileConfiguration;
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;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenIntrospectionConfiguration.java
similarity index 87%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenIntrospectionConfiguration.java
index 8824315..9ea6038 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenIntrospectionConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenIntrospectionConfiguration.java
@@ -15,17 +15,19 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.oauth2.config;
+package net.shibboleth.oidc.profile.oauth2.config.impl;
import javax.annotation.Nonnull;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenIntrospectionProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
/**
* Profile configuration for the OAuth2 Token Introspection.
*/
-public class OAuth2TokenIntrospectionConfiguration extends AbstractOAuth2TokenValidatingConfiguration {
+public class OAuth2TokenIntrospectionConfiguration extends AbstractOAuth2TokenValidatingConfiguration implements
+ OAuth2TokenIntrospectionProfileConfiguration {
/** 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/OAuth2TokenRevocationConfiguration.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenRevocationConfiguration.java
similarity index 91%
rename from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationConfiguration.java
rename to oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenRevocationConfiguration.java
index a6c51b0..e9a9244 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/oauth2/config/OAuth2TokenRevocationConfiguration.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/oauth2/config/impl/OAuth2TokenRevocationConfiguration.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package net.shibboleth.oidc.profile.oauth2.config;
+package net.shibboleth.oidc.profile.oauth2.config.impl;
import java.time.Duration;
import java.util.function.Function;
@@ -25,6 +25,7 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenRevocationProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.annotation.constraint.Positive;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -34,7 +35,8 @@ import net.shibboleth.utilities.java.support.logic.FunctionSupport;
/**
* Profile configuration for the OAuth2 Token Revocation.
*/
-public class OAuth2TokenRevocationConfiguration extends AbstractOAuth2TokenValidatingConfiguration {
+public class OAuth2TokenRevocationConfiguration extends AbstractOAuth2TokenValidatingConfiguration implements
+ OAuth2TokenRevocationProfileConfiguration {
/** OAuth2 Token Revocation URI. */
@Nonnull @NotEmpty public static final String PROTOCOL_URI = "https://tools.ietf.org/html/rfc7009";
@@ -104,14 +106,7 @@ public class OAuth2TokenRevocationConfiguration extends AbstractOAuth2TokenValid
revocationMethodLookupStrategy = FunctionSupport.constant(method != null ? method.toString() : null);
}
- /**
- * Get the revocation method used when revoking a token.
- *
- * @param profileRequestContext profile request context.
- * @return The revocation method used when revoking a token.
- *
- * @since 2.1.0
- */
+ @Override
public OAuth2TokenRevocationMethod getRevocationMethod(
@Nullable final ProfileRequestContext profileRequestContext) {
final String method = revocationMethodLookupStrategy.apply(profileRequestContext);
@@ -138,17 +133,7 @@ public class OAuth2TokenRevocationConfiguration extends AbstractOAuth2TokenValid
revocationLifetimeLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
}
- /**
- * Get revocation lifetime.
- *
- * <p>Defaults to 6 hours.</p>
- *
- * @param profileRequestContext profile request context
- *
- * @return revocation lifetime
- *
- * @since 2.1.0
- */
+ @Override
@Positive @Nonnull
public Duration getRevocationLifetime(@Nullable final ProfileRequestContext profileRequestContext) {
final Duration lifetime = revocationLifetimeLookupStrategy.apply(profileRequestContext);
diff --git a/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactoryTest.java b/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactoryTest.java
index 4823091..7df4804 100644
--- a/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactoryTest.java
+++ b/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/AuthenticationRequestMessageEncoderFactoryTest.java
@@ -29,10 +29,10 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.testng.annotations.Test;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.encoding.OIDCMessageEncoder;
import net.shibboleth.oidc.profile.encoding.impl.AbstractOIDCMessageEncoder;
-import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationConfiguration.HttpRequestMethod;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
/** Test of the AuthenticationRequestMessageEncoderFactory class.*/
public class AuthenticationRequestMessageEncoderFactoryTest {
diff --git a/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java b/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
index 730f232..0b1ecb2 100644
--- a/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
+++ b/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
@@ -44,7 +44,7 @@ import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileR
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCPublishKeySetConfiguration;
+import net.shibboleth.oidc.profile.config.impl.OIDCPublishKeySetConfiguration;
import net.shibboleth.oidc.profile.config.navigate.JWKCredentialsToPublishLookupStrategy;
import net.shibboleth.oidc.profile.messaging.JSONSuccessResponse;
import net.shibboleth.oidc.security.credential.impl.BasicJWKCredentialFactoryBean;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list