[java-idp-plugin-oidc-rp] branch main updated: JCOMOIDC-66 - Review ProfileConfiguration interfaces and concrete classes
Phil Smart
philip.smart at jisc.ac.uk
Wed Apr 19 15:34:33 UTC 2023
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch main
in repository java-idp-plugin-oidc-rp.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-plugin-oidc-rp.git;a=commit;h=216f46bd8acabc07f4a5f1bd9ecfd34e91e8b56c
The following commit(s) were added to refs/heads/main by this push:
new 216f46b JCOMOIDC-66 - Review ProfileConfiguration interfaces and concrete classes
216f46b is described below
commit 216f46bd8acabc07f4a5f1bd9ecfd34e91e8b56c
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Wed Apr 19 16:34:30 2023 +0100
JCOMOIDC-66 - Review ProfileConfiguration interfaces and concrete
classes
- Update to support new profile interfaces and concrete classes in
oidc-common.
https://shibboleth.atlassian.net/browse/JCOMOIDC-66
---
idp-oidc-rp-api/pom.xml | 13 +++++-
.../navigate/ExtraAudiencesLookupStrategy.java | 8 ++--
.../navigate/MaxAgeFromProfileLookupFunction.java | 6 +--
.../config/navigate/RedirectUriLookupFunction.java | 9 ++--
.../UserInfoHttpRequestMethodLookupStrategy.java | 14 +++----
.../rp/context/AccessTokenResponseContext.java | 2 -
.../logic/RequestObjectRequiredAndSupported.java | 6 +--
.../RequiresSignatureVerificationPredicate.java | 37 +++++++++--------
.../context/logic/UserInfoLookupCondition.java | 8 ++--
...RequiresSignatureVerificationPredicateTest.java | 48 ++++++++++++++++++----
.../impl/DefaultUserInfoRequestEncoder.java | 13 +++---
.../oidc/rp/impl/DefaultClaimMergingStrategy.java | 7 ++--
...nitializeOAuth2ClientAuthenticationContext.java | 8 ++--
.../rp/impl/InitializeOAuth2ClientContext.java | 8 ++--
.../oidc/rp/impl/ValidateOIDCAuthentication.java | 14 +++----
...CAuthenticationRequestActionMessageHandler.java | 12 +++---
...uthenticationContextClassReferencesHandler.java | 2 +-
.../oidc-relying-party-authn-beans.xml | 16 ++++----
.../authn/oidc/rp/impl/AbstractOIDCTest.java | 6 +--
.../oidc/rp/impl/AuthorizationControllerTest.java | 4 +-
.../authn/oidc/rp/impl/BuildRequestObjectTest.java | 23 +++++++++--
...MockAsymmetricJOSEObjectCredentialResolver.java | 16 ++++++++
.../OIDCRPFlowFromAuthenticationResponseTest.java | 22 ++++++++--
.../oidc/rp/impl/OIDCRPFlowPreRedirectTest.java | 16 ++++++++
.../plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java | 12 +++---
.../oidc/rp/impl/ProcessEndUserClaimsTest.java | 6 +--
...ingPartyProxySigningParametersResolverTest.java | 6 +--
.../ValidateAuthenticationResponseResultTest.java | 17 ++++++++
.../impl/ValidateOAuthAccessTokenResponseTest.java | 17 ++++++++
.../oidc/rp/impl/ValidateResponseStateTest.java | 6 +--
...nticationContextClassReferencesHandlerTest.java | 6 +--
.../messaging/impl/AddEndpointURIHandlerTest.java | 6 +--
.../AddForceAuthenticationPromptHandlerTest.java | 6 +--
.../messaging/impl/AddRedirectURIHandlerTest.java | 6 +--
.../impl/AddRequestedClaimsHandlerTest.java | 6 +--
.../impl/AddResponseTypeAndModeHandlerTest.java | 6 +--
.../rp/messaging/impl/AddScopesHandlerTest.java | 6 +--
.../resources/conf/authn/test-oidc-credentials.xml | 4 +-
.../conf/test-relying-party-postconfig.xml | 4 +-
39 files changed, 287 insertions(+), 145 deletions(-)
diff --git a/idp-oidc-rp-api/pom.xml b/idp-oidc-rp-api/pom.xml
index 7b7d645..b910ad3 100644
--- a/idp-oidc-rp-api/pom.xml
+++ b/idp-oidc-rp-api/pom.xml
@@ -41,6 +41,11 @@
<groupId>${idp.groupId}</groupId>
<artifactId>idp-authn-api</artifactId>
<scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>${idp.groupId}</groupId>
+ <artifactId>idp-profile-api</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>${idp.groupId}</groupId>
@@ -71,7 +76,13 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>provided</scope>
- </dependency>
+ </dependency>
+ <!-- Test -->
+ <dependency>
+ <groupId>net.shibboleth.oidc</groupId>
+ <artifactId>oidc-common-profile-impl</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java
index 2e1b953..1fa7932 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/ExtraAudiencesLookupStrategy.java
@@ -30,12 +30,12 @@ import com.nimbusds.jwt.JWTClaimsSet;
import net.shibboleth.idp.profile.config.ProfileConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCIDTokenProducingProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.logic.Constraint;
/**
- * Locate additional accepted audiences from the additional audiences for ID Token profile config value.
+ * Locate additional accepted audiences from the ID Token profile config value.
*/
public class ExtraAudiencesLookupStrategy implements BiFunction<ProfileRequestContext, JWTClaimsSet, Set<String>> {
@@ -60,8 +60,8 @@ public class ExtraAudiencesLookupStrategy implements BiFunction<ProfileRequestCo
final RelyingPartyContext rpc = relyingPartyContextLookupStrategy.apply(prc);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthorizationConfiguration) {
- return ((OIDCAuthorizationConfiguration)pc).getAdditionalAudiencesForIdToken(prc);
+ if (pc instanceof OIDCIDTokenProducingProfileConfiguration) {
+ return ((OIDCIDTokenProducingProfileConfiguration)pc).getAdditionalAudiencesForIdToken(prc);
}
}
return Collections.emptySet();
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeFromProfileLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeFromProfileLookupFunction.java
index caaf2c7..2631ef1 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeFromProfileLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/MaxAgeFromProfileLookupFunction.java
@@ -28,7 +28,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.OIDCAuthenticationProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -55,8 +55,8 @@ public class MaxAgeFromProfileLookupFunction extends AbstractRelyingPartyLookupF
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthorizationConfiguration){
- final Duration maxAge = ((OIDCAuthorizationConfiguration)pc).getMaxAuthenticationAge(input);
+ if (pc instanceof OIDCAuthenticationProfileConfiguration){
+ final Duration maxAge = ((OIDCAuthenticationProfileConfiguration)pc).getMaxAuthenticationAge(input);
if (maxAge == null) {
return maxAgeDefault;
} else {
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java
index 6cc382f..06ee9ed 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/RedirectUriLookupFunction.java
@@ -27,10 +27,10 @@ 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.OIDCAuthenticationRelyingPartyProfileConfiguration;
/**
- * Pull a redirect_uri from the Relying Party profile config if present. Return {@literal null} otherwise.
+ * Pull a redirect_uri from the Relying Party profile config if present. Returns {@literal null} otherwise.
*/
public class RedirectUriLookupFunction extends AbstractRelyingPartyLookupFunction<URI> {
@@ -39,9 +39,10 @@ public class RedirectUriLookupFunction extends AbstractRelyingPartyLookupFunctio
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthorizationConfiguration) {
+ if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
try {
- final String uriString = ((OIDCAuthorizationConfiguration) pc).getRedirectUriOverride(input);
+ final String uriString = ((OIDCAuthenticationRelyingPartyProfileConfiguration) pc)
+ .getRedirectUriOverride(input);
return uriString != null ? new URI(uriString): null;
} catch (final URISyntaxException e) {
return null;
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java
index f91ca83..541ed12 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/navigate/UserInfoHttpRequestMethodLookupStrategy.java
@@ -24,25 +24,25 @@ 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.OIDCAuthorizationConfiguration.OIDCHttpRequestMethod;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
/**
* Locate the HTTP request method to use for the UserInfo request. Returns {@link OIDCHttpRequestMethod#GET} if not
* found on the profile configuration.
*/
-public class UserInfoHttpRequestMethodLookupStrategy extends AbstractRelyingPartyLookupFunction<OIDCHttpRequestMethod> {
+public class UserInfoHttpRequestMethodLookupStrategy extends AbstractRelyingPartyLookupFunction<HttpRequestMethod> {
@Override
- @Nullable public OIDCHttpRequestMethod apply(final ProfileRequestContext input) {
+ @Nullable public HttpRequestMethod apply(final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc instanceof OIDCAuthorizationConfiguration){
- return ((OIDCAuthorizationConfiguration)pc).getUserInfoHttpRequestMethod(input);
+ if (pc instanceof OIDCAuthenticationRelyingPartyProfileConfiguration){
+ return ((OIDCAuthenticationRelyingPartyProfileConfiguration)pc).getUserInfoHttpRequestMethod(input);
}
}
- return OIDCHttpRequestMethod.GET;
+ return HttpRequestMethod.GET;
}
}
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/AccessTokenResponseContext.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/AccessTokenResponseContext.java
index d1198d1..2c8fe30 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/AccessTokenResponseContext.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/context/AccessTokenResponseContext.java
@@ -23,8 +23,6 @@ import javax.annotation.Nullable;
import com.nimbusds.openid.connect.sdk.OIDCTokenResponse;
-
-
/**
* A context to hold an OIDC token request response. If authenticated, the Token was received over a TLS protected
* channel where TLS credential validation was performed and successful.
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java
index b49d1b3..638023c 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequestObjectRequiredAndSupported.java
@@ -33,7 +33,7 @@ import net.shibboleth.idp.plugin.authn.oidc.rp.context.OIDCPeerEntityContext;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.logic.AbstractRelyingPartyPredicate;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.utilities.java.support.logic.Constraint;
/** Tests whether a request object should be build, and if it is supported by the upstream OP.*/
@@ -71,8 +71,8 @@ public class RequestObjectRequiredAndSupported extends AbstractRelyingPartyPredi
boolean requestObjectRequestedFromConfig = false;
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null && rpc.getProfileConfig() instanceof OIDCAuthorizationConfiguration) {
- requestObjectRequestedFromConfig = ((OIDCAuthorizationConfiguration)
+ if (rpc != null && rpc.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
+ requestObjectRequestedFromConfig = ((OIDCAuthenticationRelyingPartyProfileConfiguration)
rpc.getProfileConfig()).isUseRequestObject(input);
}
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java
index 7c11855..d1f3f74 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/RequiresSignatureVerificationPredicate.java
@@ -18,15 +18,19 @@
package net.shibboleth.idp.plugin.authn.oidc.rp.messaging.context.logic;
import java.util.function.Function;
-import java.util.function.Predicate;
import javax.annotation.Nonnull;
import org.opensaml.messaging.context.MessageContext;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.profile.context.navigate.ParentProfileRequestContextLookup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.shibboleth.idp.plugin.authn.oidc.rp.context.AbstractAuthenticatableOIDCContext;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.idp.profile.logic.messaging.AbstractRelyingPartyPredicate;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -34,17 +38,11 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
* Is successful TLS credential verification enough to validate the JWT in question? Defaults to true —
* signature verification is required.
*/
-public class RequiresSignatureVerificationPredicate implements Predicate<MessageContext> {
+public class RequiresSignatureVerificationPredicate extends AbstractRelyingPartyPredicate {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(RequiresSignatureVerificationPredicate.class);
- /**
- * If true and the {@link AbstractAuthenticatableOIDCContext} is authenticated, the predicate
- * returns false (no additional signature verification required).
- */
- private boolean tlsServerValidationOnly;
-
/** Strategy used to lookup the {@link AbstractAuthenticatableOIDCContext} to test. */
@Nonnull
private final Function<MessageContext, AbstractAuthenticatableOIDCContext> authenticatableOIDCContextLookupStrategy;
@@ -63,19 +61,22 @@ public class RequiresSignatureVerificationPredicate implements Predicate<Message
authenticatableOIDCContextLookupStrategy = Constraint.isNotNull(strategy,
"authenticatableOIDCContextLookupStrategy can not be null");
}
-
- /**
- * Set whether TLS server validation is sufficient (true), or if JWT signature verification should
- * still occur (false).
- *
- * @param flag the flag
- */
- public void setTlsServerValidationOnly(final boolean flag) {
- tlsServerValidationOnly = flag;
- }
@Override
public boolean test(@Nonnull final MessageContext msgContext) {
+ final ParentProfileRequestContextLookup<MessageContext> lookup = new ParentProfileRequestContextLookup<>();
+ final ProfileRequestContext prc = lookup.apply(msgContext);
+ if (prc == null) {
+ log.warn("Profile request context not found, signature verification will be requred");
+ return true;
+ }
+ boolean tlsServerValidationOnly = false;
+ final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(msgContext);
+
+ if (rpc != null && rpc.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
+ tlsServerValidationOnly = ((OIDCAuthenticationRelyingPartyProfileConfiguration)
+ rpc.getProfileConfig()).isTlsServerValidationSufficient(prc);
+ }
final AbstractAuthenticatableOIDCContext authContext =
authenticatableOIDCContextLookupStrategy.apply(msgContext);
diff --git a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java
index 3329b56..d669b32 100644
--- a/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java
+++ b/idp-oidc-rp-api/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/context/logic/UserInfoLookupCondition.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
/**
* Checks whether the UserInfo endpoint should be accessed to retrieve claims about the
@@ -39,9 +39,9 @@ public class UserInfoLookupCondition implements Predicate<ProfileRequestContext>
}
final RelyingPartyContext rpCtx = prc.getSubcontext(RelyingPartyContext.class);
if (rpCtx != null && rpCtx.getProfileConfig() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthorizationConfiguration) {
- final OIDCAuthorizationConfiguration profileConfiguration =
- (OIDCAuthorizationConfiguration) rpCtx.getProfileConfig();
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
+ final OIDCAuthenticationRelyingPartyProfileConfiguration profileConfiguration =
+ (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
return profileConfiguration.isRetrieveUserInfoEndpointClaims(prc);
}
diff --git a/idp-oidc-rp-api/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/logic/RequiresSignatureVerificationPredicateTest.java b/idp-oidc-rp-api/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/logic/RequiresSignatureVerificationPredicateTest.java
index 0ad6f0b..46351e3 100644
--- a/idp-oidc-rp-api/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/logic/RequiresSignatureVerificationPredicateTest.java
+++ b/idp-oidc-rp-api/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/config/logic/RequiresSignatureVerificationPredicateTest.java
@@ -21,48 +21,78 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import org.opensaml.messaging.context.MessageContext;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import net.shibboleth.idp.plugin.authn.oidc.rp.context.AbstractAuthenticatableOIDCContext;
import net.shibboleth.idp.plugin.authn.oidc.rp.messaging.context.logic.RequiresSignatureVerificationPredicate;
+import net.shibboleth.idp.profile.context.RelyingPartyContext;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
+/** Tests for the {@link RequiresSignatureVerificationPredicate}.*/
public class RequiresSignatureVerificationPredicateTest {
/** The predicate to test*/
private RequiresSignatureVerificationPredicate predicate;
+ private RelyingPartyContext rpc;
+ private DefaultOIDCAuthorizationConfiguration config;
+
+ private MessageContext msgCtx;
+
+ @BeforeMethod
+ public void setup() {
+ msgCtx = new MessageContext();
+ final ProfileRequestContext prc = new ProfileRequestContext();
+ prc.setInboundMessageContext(msgCtx);
+ rpc = new RelyingPartyContext();
+ config = new DefaultOIDCAuthorizationConfiguration();
+ rpc.setProfileConfig(config);
+ }
@Test
public void testSignatureVerificationRequired_TLSOnlyDisabled() {
predicate = new RequiresSignatureVerificationPredicate(msg -> new MockAuthenticatableContext(true));
- predicate.setTlsServerValidationOnly(false);
-
- assertTrue(predicate.test(new MessageContext()));
+ predicate.setRelyingPartyContextLookupStrategy(mc -> {
+ config.setTlsServerValidationSufficient(false);
+ return rpc;
+ });
+ assertTrue(predicate.test(msgCtx));
}
@Test
public void testSignatureVerificationRequired_TLSOnlyDisabled_ContextNotAuthenticated() {
predicate = new RequiresSignatureVerificationPredicate(msg -> new MockAuthenticatableContext(false));
- predicate.setTlsServerValidationOnly(false);
+ predicate.setRelyingPartyContextLookupStrategy(mc -> {
+ config.setTlsServerValidationSufficient(false);
+ return rpc;
+ });
- assertTrue(predicate.test(new MessageContext()));
+ assertTrue(predicate.test(msgCtx));
}
@Test
public void testSignatureVerificationRequired_TLSOnlyEnabled_ContextNotAuthenticated() {
predicate = new RequiresSignatureVerificationPredicate(msg -> new MockAuthenticatableContext(false));
- predicate.setTlsServerValidationOnly(true);
+ predicate.setRelyingPartyContextLookupStrategy(mc -> {
+ config.setTlsServerValidationSufficient(true);
+ return rpc;
+ });
- assertTrue(predicate.test(new MessageContext()));
+ assertTrue(predicate.test(msgCtx));
}
@Test
public void testSignatureVerificationNotRequired_TLSOnlyEnabled() {
predicate = new RequiresSignatureVerificationPredicate(msg -> new MockAuthenticatableContext(true));
- predicate.setTlsServerValidationOnly(true);
+ predicate.setRelyingPartyContextLookupStrategy(mc -> {
+ config.setTlsServerValidationSufficient(true);
+ return rpc;
+ });
- assertFalse(predicate.test(new MessageContext()));
+ assertFalse(predicate.test(msgCtx));
}
/** Mock Authenticatable context.*/
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/encoding/impl/DefaultUserInfoRequestEncoder.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/encoding/impl/DefaultUserInfoRequestEncoder.java
index 5acc369..f6be9e3 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/encoding/impl/DefaultUserInfoRequestEncoder.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/encoding/impl/DefaultUserInfoRequestEncoder.java
@@ -39,7 +39,7 @@ import com.nimbusds.oauth2.sdk.token.BearerAccessToken;
import net.shibboleth.idp.plugin.authn.oidc.rp.OIDCRPException;
import net.shibboleth.idp.plugin.authn.oidc.rp.config.navigate.UserInfoHttpRequestMethodLookupStrategy;
import net.shibboleth.idp.plugin.authn.oidc.rp.context.AccessTokenResponseContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration.OIDCHttpRequestMethod;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -61,7 +61,7 @@ public class DefaultUserInfoRequestEncoder extends AbstractRequestEncoderFunctio
tokenResponseContextLookupStrategy;
/** Strategy used to look up the {@link HttpMethod} used for this request.*/
- @Nonnull private Function<ProfileRequestContext, OIDCHttpRequestMethod> httpMethodLookupStrategy;
+ @Nonnull private Function<ProfileRequestContext, HttpRequestMethod> httpMethodLookupStrategy;
/** Constructor.*/
public DefaultUserInfoRequestEncoder() {
@@ -91,7 +91,7 @@ public class DefaultUserInfoRequestEncoder extends AbstractRequestEncoderFunctio
*
* @param strategy the strategy
*/
- public void setHttpMethodLookupStrategy(final Function<ProfileRequestContext, OIDCHttpRequestMethod> strategy) {
+ public void setHttpMethodLookupStrategy(final Function<ProfileRequestContext, HttpRequestMethod> strategy) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
@@ -104,7 +104,7 @@ public class DefaultUserInfoRequestEncoder extends AbstractRequestEncoderFunctio
public HttpUriRequest doApply(@Nonnull final ProfileRequestContext profileRequestContext) {
try {
- final OIDCHttpRequestMethod requestMethod = httpMethodLookupStrategy.apply(profileRequestContext);
+ final HttpRequestMethod requestMethod = httpMethodLookupStrategy.apply(profileRequestContext);
final AccessTokenResponseContext responseCtx =
tokenResponseContextLookupStrategy.apply(profileRequestContext);
@@ -125,13 +125,13 @@ public class DefaultUserInfoRequestEncoder extends AbstractRequestEncoderFunctio
// Add headers and create request.
RequestBuilder rb = null;
- if (requestMethod == OIDCHttpRequestMethod.GET) {
+ if (requestMethod == HttpRequestMethod.GET) {
rb = RequestBuilder.get().setUri(uri)
.setHeader("Content-Type", ContentType.APPLICATION_FORM_URLENCODED.getMimeType())
.setCharset(StandardCharset.UTF_8);
addBearerTokenToGet(rb, responseCtx);
- } else if (requestMethod == OIDCHttpRequestMethod.POST) {
+ } else if (requestMethod == HttpRequestMethod.POST) {
rb = RequestBuilder.post().setUri(uri)
.setHeader("Content-Type", ContentType.APPLICATION_FORM_URLENCODED.getMimeType())
@@ -140,6 +140,7 @@ public class DefaultUserInfoRequestEncoder extends AbstractRequestEncoderFunctio
addBearerTokenToPost(rb, responseCtx);
} else {
log.error("Unable to construct UserInfo request, unknown request method: "+requestMethod);
+ return null;
}
final HttpUriRequest request = rb.build();
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/DefaultClaimMergingStrategy.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/DefaultClaimMergingStrategy.java
index b294140..75ae8d3 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/DefaultClaimMergingStrategy.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/DefaultClaimMergingStrategy.java
@@ -56,17 +56,18 @@ public class DefaultClaimMergingStrategy implements BinaryOperator<ClaimsSet> {
singleSet.putAll(userInfo.toJSONObject());
return singleSet;
}
- if (userInfo == null && idToken == null) {
+ // Now catch if either is null
+ if (userInfo == null || idToken == null) {
// return empty claimsset
return new ClaimsSet();
- }
+ }
final Map<String, Object> idTokenAsMap = idToken.toJSONObject();
// Treat JSONObject as the base map representation.
final Map<String, Object> userInfoClaimsAsMap = userInfo.toJSONObject();
// add UserInfo claims as a base
- final Map<String, Object> mergedClaimsMap = new HashMap<String, Object>(userInfoClaimsAsMap);
+ final Map<String, Object> mergedClaimsMap = new HashMap<>(userInfoClaimsAsMap);
// Merge id_token claims into userInfo claims, take id_token claim if conflict
idTokenAsMap.forEach((key, value) ->
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationContext.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationContext.java
index 6dfe0d0..b8236df 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationContext.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientAuthenticationContext.java
@@ -44,7 +44,7 @@ import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.oidc.authn.context.OAuth2ClientAuthenticationContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.oidc.security.credential.ClientSecretCredential;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
@@ -81,7 +81,7 @@ public class InitializeOAuth2ClientAuthenticationContext extends AbstractProfile
@Nonnull private Function<ProfileRequestContext,RelyingPartyContext> relyingPartyContextLookupStrategy;
/** Applicable stashed profile configuration. */
- @Nullable private OIDCAuthorizationConfiguration profileConfiguration;
+ @Nullable private OIDCAuthenticationRelyingPartyProfileConfiguration profileConfiguration;
/** Constructor.*/
@@ -148,8 +148,8 @@ public class InitializeOAuth2ClientAuthenticationContext extends AbstractProfile
final RelyingPartyContext rpCtx = relyingPartyContextLookupStrategy.apply(profileRequestContext);
if (rpCtx != null && rpCtx.getConfiguration() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthorizationConfiguration) {
- profileConfiguration = (OIDCAuthorizationConfiguration) rpCtx.getProfileConfig();
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
+ profileConfiguration = (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
}
if (profileConfiguration == null) {
log.error("{} Profile configuration not found", getLogPrefix());
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java
index 30923db..2c8b36e 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/InitializeOAuth2ClientContext.java
@@ -37,7 +37,7 @@ import net.shibboleth.idp.plugin.authn.oidc.rp.context.OIDCPeerEntityContext;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -71,7 +71,7 @@ public class InitializeOAuth2ClientContext extends AbstractProfileAction {
@Nonnull private Function<ProfileRequestContext,RelyingPartyContext> relyingPartyContextLookupStrategy;
/** Applicable stashed profile configuration. */
- @Nullable private OIDCAuthorizationConfiguration profileConfiguration;
+ @Nullable private OIDCAuthenticationRelyingPartyProfileConfiguration profileConfiguration;
/** Constructor.*/
public InitializeOAuth2ClientContext() {
@@ -140,8 +140,8 @@ public class InitializeOAuth2ClientContext extends AbstractProfileAction {
final RelyingPartyContext rpCtx = relyingPartyContextLookupStrategy.apply(profileRequestContext);
if (rpCtx != null && rpCtx.getConfiguration() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthorizationConfiguration) {
- profileConfiguration = (OIDCAuthorizationConfiguration) rpCtx.getProfileConfig();
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
+ profileConfiguration = (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
}
if (profileConfiguration == null) {
log.error("{} OIDCAuthorizationConfiguration not found", getLogPrefix());
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java
index a13d0c9..4d0dc6f 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOIDCAuthentication.java
@@ -47,7 +47,6 @@ import com.nimbusds.openid.connect.sdk.AuthenticationSuccessResponse;
import net.minidev.json.JSONObject;
import net.shibboleth.idp.attribute.AttributeDecodingException;
-import net.shibboleth.idp.attribute.AttributeEncodingException;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.context.AttributeContext;
import net.shibboleth.idp.attribute.filter.AttributeFilter;
@@ -69,7 +68,7 @@ import net.shibboleth.idp.plugin.authn.oidc.rp.principal.OIDCSubjectIdentifierPr
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.utilities.java.support.annotation.constraint.Live;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
@@ -120,7 +119,7 @@ public class ValidateOIDCAuthentication extends AbstractValidationAction {
@Nonnull private Function<ProfileRequestContext,RelyingPartyContext> relyingPartyContextLookupStrategy;
/** Store off profile config. */
- @Nullable private OIDCAuthorizationConfiguration profileConfiguration;
+ @Nullable private OIDCAuthenticationRelyingPartyProfileConfiguration profileConfiguration;
/** The context with claims pertaining to the end-user of this authentication.*/
@Nullable private EndUserClaimsContext endUserContext;
@@ -244,12 +243,13 @@ public class ValidateOIDCAuthentication extends AbstractValidationAction {
log.error("{} Unable to locate profile configuration", getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, IdPEventIds.INVALID_PROFILE_CONFIG);
return false;
- } else if (!(rpContext.getProfileConfig() instanceof OIDCAuthorizationConfiguration)) {
- log.error("{} No OIDC SSO profile configuration", getLogPrefix());
+ } else if (!(rpContext.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration)) {
+ log.error("{} No OIDC RP SSO profile configuration", getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, IdPEventIds.INVALID_PROFILE_CONFIG);
return false;
- }
- profileConfiguration = (OIDCAuthorizationConfiguration) rpContext.getProfileConfig();
+ }
+
+ profileConfiguration = (OIDCAuthenticationRelyingPartyProfileConfiguration) rpContext.getProfileConfig();
endUserContext = endUserClaimsContextLookupStrategy.apply(profileRequestContext);
if (endUserContext == null) {
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java
index 3f55fe5..695dd2e 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AbstractOIDCAuthenticationRequestActionMessageHandler.java
@@ -40,7 +40,7 @@ import net.shibboleth.idp.plugin.authn.oidc.rp.context.OIDCPeerEntityContext;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.impl.WebFlowMessageHandlerAdaptor;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
@@ -75,7 +75,7 @@ public abstract class AbstractOIDCAuthenticationRequestActionMessageHandler exte
@Nullable private OIDCProviderMetadata providerMetadata;
/** Applicable profile configuration. */
- @Nullable private OIDCAuthorizationConfiguration profileConfiguration;
+ @Nullable private OIDCAuthenticationRelyingPartyProfileConfiguration profileConfiguration;
/** Current HTTP request, if available. */
@Nullable private HttpServletRequest httpServletRequest;
@@ -124,7 +124,7 @@ public abstract class AbstractOIDCAuthenticationRequestActionMessageHandler exte
*
* @return the profile configuration
*/
- @Nullable protected OIDCAuthorizationConfiguration getProfileConfiguration() {
+ @Nullable protected OIDCAuthenticationRelyingPartyProfileConfiguration getProfileConfiguration() {
return profileConfiguration;
}
@@ -228,11 +228,11 @@ public abstract class AbstractOIDCAuthenticationRequestActionMessageHandler exte
}
final RelyingPartyContext rpCtx = adapt(relyingPartyContextLookupStrategy).apply(messageContext);
if (rpCtx != null && rpCtx.getConfiguration() != null &&
- rpCtx.getProfileConfig() instanceof OIDCAuthorizationConfiguration) {
- profileConfiguration = (OIDCAuthorizationConfiguration) rpCtx.getProfileConfig();
+ rpCtx.getProfileConfig() instanceof OIDCAuthenticationRelyingPartyProfileConfiguration) {
+ profileConfiguration = (OIDCAuthenticationRelyingPartyProfileConfiguration) rpCtx.getProfileConfig();
}
if (profileConfiguration == null) {
- throw new MessageHandlerException(" OIDCCoreProtocolConfiguration not found");
+ throw new MessageHandlerException("Profile configuration could not found");
}
return super.doPreInvoke(messageContext);
diff --git a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java
index 228ae6b..795b5a4 100644
--- a/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java
+++ b/idp-oidc-rp-impl/src/main/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandler.java
@@ -41,7 +41,7 @@ import net.shibboleth.oidc.profile.config.navigate.ProxyAwareDefaultOIDCAuthenti
*/
public class AddAuthenticationContextClassReferencesHandler
extends AbstractOIDCAuthenticationRequestActionMessageHandler {
-
+
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(AddAuthenticationContextClassReferencesHandler.class);
diff --git a/idp-oidc-rp-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OIDCRelyingParty/oidc-relying-party-authn-beans.xml b/idp-oidc-rp-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OIDCRelyingParty/oidc-relying-party-authn-beans.xml
index 0ea6106..086768a 100644
--- a/idp-oidc-rp-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OIDCRelyingParty/oidc-relying-party-authn-beans.xml
+++ b/idp-oidc-rp-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OIDCRelyingParty/oidc-relying-party-authn-beans.xml
@@ -40,7 +40,7 @@
<bean id="InitializeProxyProfileRequestContext"
class="net.shibboleth.idp.authn.proxy.impl.InitializeProxyProfileRequestContext"
- p:profileId="#{T(net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration).PROFILE_ID}"
+ p:profileId="#{T(net.shibboleth.oidc.profile.config.OIDCSSOProfileConfiguration).PROFILE_ID}"
p:loggingId="%{idp.service.logging.oidcsso:OIDC.SSO}" p:browserProfile="true" />
<bean id="FlowStartPopulateAuditContext" parent="shibboleth.AbstractPopulateAuditContext"
@@ -425,8 +425,12 @@
<bean id="IDTokenSignatureValidation" parent="NestedWebFlowMessageHandlerAdaptor" scope="prototype"
c:executionDirection="INBOUND">
<constructor-arg>
- <bean class="org.opensaml.messaging.handler.impl.BasicMessageHandlerChain"
- p:activationCondition-ref="shibboleth.authn.oidc.rp.IDTokenRequiresSignatureVerificationCondition">
+ <bean class="org.opensaml.messaging.handler.impl.BasicMessageHandlerChain">
+ <property name="activationCondition">
+ <bean class="net.shibboleth.idp.plugin.authn.oidc.rp.messaging.context.logic.RequiresSignatureVerificationPredicate"
+ scope="prototype"
+ c:authenticatableOIDCContextLookupStrategy-ref="shibboleth.ChildLookup.AccessTokenResponseContext"/>
+ </property>
<property name="handlers">
<list>
@@ -471,11 +475,7 @@
<util:constant static-field="org.opensaml.profile.action.EventIds.INVALID_MESSAGE" />
</property>
</bean>
-
- <bean id="shibboleth.authn.oidc.rp.IDTokenRequiresSignatureVerificationCondition" scope="prototype"
- class="net.shibboleth.idp.plugin.authn.oidc.rp.messaging.context.logic.RequiresSignatureVerificationPredicate"
- p:tlsServerValidationOnly="%{idp.authn.oidc.rp.client.idtoken.tlsServerValidationOnly:false}"
- c:authenticatableOIDCContextLookupStrategy-ref="shibboleth.ChildLookup.AccessTokenResponseContext"/>
+
<bean id="ValidateIDTokenClaims" scope="prototype"
class="net.shibboleth.idp.plugin.authn.oidc.rp.impl.ValidateTokenClaims"
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AbstractOIDCTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AbstractOIDCTest.java
index 42de561..bce22a8 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AbstractOIDCTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AbstractOIDCTest.java
@@ -47,7 +47,7 @@ import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileR
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
import net.shibboleth.oidc.security.impl.support.TestCredentialHelper;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -243,7 +243,7 @@ public abstract class AbstractOIDCTest {
protected AuthenticationContext ac;
/** The RP config.*/
- protected OIDCAuthorizationConfiguration partyConfig;
+ protected DefaultOIDCAuthorizationConfiguration partyConfig;
/** The OIDC provider metadata context.*/
protected OIDCProviderMetadataContext providerCtx;
@@ -283,7 +283,7 @@ public abstract class AbstractOIDCTest {
final JSONParser parser = new JSONParser(JSONParser.MODE_JSON_SIMPLE);
final RelyingPartyContext partyContext = new RelyingPartyContext();
- partyConfig = new OIDCAuthorizationConfiguration();
+ partyConfig = new DefaultOIDCAuthorizationConfiguration();
partyContext.setProfileConfig(partyConfig);
partyConfig.setClientCredential(TestCredentialHelper.createClientSecretCredential(CLIENT_SECRET));
partyConfig.setTokenEndpointAuthMethods(Set.of("client_secret_basic"));
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationControllerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationControllerTest.java
index d211ae7..7177041 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationControllerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/AuthorizationControllerTest.java
@@ -98,10 +98,10 @@ import net.shibboleth.idp.plugin.authn.test.flow.mock.IdPPropertyConfigurer;
import net.shibboleth.idp.session.IdPSession;
import net.shibboleth.idp.session.context.SessionContext;
import net.shibboleth.idp.ui.context.RelyingPartyUIContext;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration.OIDCHttpRequestMethod;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
import net.shibboleth.oidc.profile.decoding.OIDCMessageDecoder;
import net.shibboleth.oidc.profile.encoding.impl.AbstractOIDCMessageEncoder;
+import net.shibboleth.oidc.profile.oauth2.config.OAuth2AuthorizationProfileConfiguration.HttpRequestMethod;
import net.shibboleth.oidc.security.impl.EncryptJWTHandler;
import net.shibboleth.oidc.security.impl.SignJWTHandler;
import net.shibboleth.oidc.security.impl.support.TestCredentialHelper;
@@ -498,7 +498,7 @@ public class AuthorizationControllerTest extends AbstractTestNGSpringContextTest
private class MockRedirectEncoder extends AbstractOIDCMessageEncoder {
@Override
- public boolean test(final OIDCHttpRequestMethod t) {
+ public boolean test(final HttpRequestMethod t) {
return true;
}
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObjectTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObjectTest.java
index 3e5cd45..19ee888 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObjectTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/BuildRequestObjectTest.java
@@ -1,3 +1,20 @@
+/*
+ * 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.idp.plugin.authn.oidc.rp.impl;
@@ -31,7 +48,7 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -45,7 +62,7 @@ public class BuildRequestObjectTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -54,7 +71,7 @@ public class BuildRequestObjectTest extends AbstractOIDCTest {
action = new BuildRequestObject();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/MockAsymmetricJOSEObjectCredentialResolver.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/MockAsymmetricJOSEObjectCredentialResolver.java
index d81e93c..bf63dee 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/MockAsymmetricJOSEObjectCredentialResolver.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/MockAsymmetricJOSEObjectCredentialResolver.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.idp.plugin.authn.oidc.rp.impl;
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowFromAuthenticationResponseTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowFromAuthenticationResponseTest.java
index c3d3e82..98d6858 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowFromAuthenticationResponseTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowFromAuthenticationResponseTest.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.idp.plugin.authn.oidc.rp.impl;
@@ -32,7 +48,7 @@ import net.shibboleth.idp.plugin.authn.oidc.rp.test.TestTokenHelper;
import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
import net.shibboleth.oidc.authn.principal.AuthenticationContextClassReferencePrincipal;
import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
import net.shibboleth.oidc.security.credential.DefaultClientSecretCredential;
import net.shibboleth.oidc.security.credential.impl.BasicJOSEObjectCredentialResolver;
@@ -203,7 +219,7 @@ public class OIDCRPFlowFromAuthenticationResponseTest extends OIDCRPFlowTest {
final ProfileRequestContext prc = populateBasicContextTreeFromAuthnResponse(flowExecution);
- final OIDCAuthorizationConfiguration partyConfig = getRelyingPartyProfileConfig(prc);
+ final DefaultOIDCAuthorizationConfiguration partyConfig = getRelyingPartyProfileConfig(prc);
partyConfig.setClientCredential(
TestCredentialHelper.createClientSecretCredential(CLIENT_SECRET));
@@ -294,7 +310,7 @@ public class OIDCRPFlowFromAuthenticationResponseTest extends OIDCRPFlowTest {
final ProfileRequestContext prc = populateBasicContextTreeFromAuthnResponse(flowExecution);
- final OIDCAuthorizationConfiguration partyConfig = getRelyingPartyProfileConfig(prc);
+ final DefaultOIDCAuthorizationConfiguration partyConfig = getRelyingPartyProfileConfig(prc);
final JSONSecurityConfiguration secConfig = new JSONSecurityConfiguration();
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.java
index 2d1522b..c87402b 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowPreRedirectTest.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.idp.plugin.authn.oidc.rp.impl;
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java
index 2540765..5c5cdbb 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/OIDCRPFlowTest.java
@@ -82,7 +82,7 @@ import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
import net.shibboleth.oidc.metadata.context.OIDCProviderMetadataContext;
import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
import net.shibboleth.oidc.security.credential.impl.BasicJOSEObjectCredentialResolver;
import net.shibboleth.oidc.security.credential.impl.ClientSecretCriterionCredentialResolver;
@@ -425,7 +425,7 @@ public class OIDCRPFlowTest extends AbstractAuthnXmlFlowExecutionTests {
// Add under nest PRC
final RelyingPartyContext partyContext = new RelyingPartyContext();
- final OIDCAuthorizationConfiguration partyConfig = new OIDCAuthorizationConfiguration();
+ final DefaultOIDCAuthorizationConfiguration partyConfig = new DefaultOIDCAuthorizationConfiguration();
partyContext.setProfileConfig(partyConfig);
partyConfig.setClientCredential(TestCredentialHelper.createClientSecretCredential(CLIENT_SECRET));
partyConfig.setTokenEndpointAuthMethods(Set.of("client_secret_basic"));
@@ -460,8 +460,8 @@ public class OIDCRPFlowTest extends AbstractAuthnXmlFlowExecutionTests {
/* Add functions to convert ACR and AMR in id_token responses to principals.*/
protected void addACRAndAMRFunctions(@Nonnull final ProfileRequestContext prc) {
- final OIDCAuthorizationConfiguration partyConfig =
- (OIDCAuthorizationConfiguration) prc.getSubcontext(RelyingPartyContext.class).getProfileConfig();
+ final DefaultOIDCAuthorizationConfiguration partyConfig =
+ (DefaultOIDCAuthorizationConfiguration) prc.getSubcontext(RelyingPartyContext.class).getProfileConfig();
partyConfig.setAuthenticationContextClassReferenceTranslationStrategyLookupStrategy(
context -> acrs -> {
@@ -493,8 +493,8 @@ public class OIDCRPFlowTest extends AbstractAuthnXmlFlowExecutionTests {
* @param prc the prc
* @return the relying party configuration
*/
- protected OIDCAuthorizationConfiguration getRelyingPartyProfileConfig(final ProfileRequestContext prc) {
- return (OIDCAuthorizationConfiguration) prc.getSubcontext(AuthenticationContext.class)
+ protected DefaultOIDCAuthorizationConfiguration getRelyingPartyProfileConfig(final ProfileRequestContext prc) {
+ return (DefaultOIDCAuthorizationConfiguration) prc.getSubcontext(AuthenticationContext.class)
.getSubcontext(ProfileRequestContext.class)
.getSubcontext(RelyingPartyContext.class)
.getProfileConfig();
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ProcessEndUserClaimsTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ProcessEndUserClaimsTest.java
index 886d33b..db9a468 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ProcessEndUserClaimsTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ProcessEndUserClaimsTest.java
@@ -56,7 +56,7 @@ import net.shibboleth.idp.plugin.authn.oidc.rp.context.UserInfoResponseContext;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.security.jwt.claims.impl.JWTClaims;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -70,7 +70,7 @@ public class ProcessEndUserClaimsTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@@ -80,7 +80,7 @@ public class ProcessEndUserClaimsTest extends AbstractOIDCTest {
action = new ProcessEndUserClaims();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/RelyingPartyProxySigningParametersResolverTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/RelyingPartyProxySigningParametersResolverTest.java
index 965c006..f8acfd7 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/RelyingPartyProxySigningParametersResolverTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/RelyingPartyProxySigningParametersResolverTest.java
@@ -51,7 +51,7 @@ import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.oidc.jwa.support.SignatureConstants;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.security.credential.BasicExpiringJWKCredential;
import net.shibboleth.oidc.security.credential.DefaultClientSecretCredential;
import net.shibboleth.oidc.security.credential.JWKCredential;
@@ -73,7 +73,7 @@ public class RelyingPartyProxySigningParametersResolverTest extends AbstractOIDC
private RelyingPartyContext rpc;
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@@ -82,7 +82,7 @@ public class RelyingPartyProxySigningParametersResolverTest extends AbstractOIDC
super.setup();
resolver = new RelyingPartyProxySigningParametersResolver();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResultTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResultTest.java
index a81473d..afeeba1 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResultTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateAuthenticationResponseResultTest.java
@@ -1,3 +1,20 @@
+/*
+ * 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.idp.plugin.authn.oidc.rp.impl;
import static org.testng.Assert.assertEquals;
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOAuthAccessTokenResponseTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOAuthAccessTokenResponseTest.java
index 88b9f4c..173399a 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOAuthAccessTokenResponseTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateOAuthAccessTokenResponseTest.java
@@ -1,3 +1,20 @@
+/*
+ * 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.idp.plugin.authn.oidc.rp.impl;
import static org.junit.Assert.assertNotNull;
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateResponseStateTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateResponseStateTest.java
index 1ddf18d..fe1380c 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateResponseStateTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/impl/ValidateResponseStateTest.java
@@ -38,7 +38,7 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
/** Tests for {@link ValidateResponseState}.*/
@@ -51,7 +51,7 @@ public class ValidateResponseStateTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -60,7 +60,7 @@ public class ValidateResponseStateTest extends AbstractOIDCTest {
action = new ValidateResponseState();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandlerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandlerTest.java
index c961c42..ce75e72 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandlerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddAuthenticationContextClassReferencesHandlerTest.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.plugin.authn.oidc.rp.impl.AbstractOIDCTest;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.oidc.authn.principal.AuthenticationContextClassReferencePrincipal;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
/** Tests for AddAuthenticationContextClassReferences.*/
public class AddAuthenticationContextClassReferencesHandlerTest extends AbstractOIDCTest {
@@ -41,7 +41,7 @@ public class AddAuthenticationContextClassReferencesHandlerTest extends Abstrac
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -50,7 +50,7 @@ public class AddAuthenticationContextClassReferencesHandlerTest extends Abstrac
handler = new AddAuthenticationContextClassReferencesHandler();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddEndpointURIHandlerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddEndpointURIHandlerTest.java
index 64725a0..56568ca 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddEndpointURIHandlerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddEndpointURIHandlerTest.java
@@ -26,7 +26,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.plugin.authn.oidc.rp.impl.AbstractOIDCTest;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
/** Tests for {@link AddEndpointURIHandler}.*/
public class AddEndpointURIHandlerTest extends AbstractOIDCTest {
@@ -38,7 +38,7 @@ public class AddEndpointURIHandlerTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -47,7 +47,7 @@ public class AddEndpointURIHandlerTest extends AbstractOIDCTest {
handler = new AddEndpointURIHandler();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddForceAuthenticationPromptHandlerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddForceAuthenticationPromptHandlerTest.java
index d59062d..336e1d8 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddForceAuthenticationPromptHandlerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddForceAuthenticationPromptHandlerTest.java
@@ -28,7 +28,7 @@ import com.nimbusds.openid.connect.sdk.Prompt;
import net.shibboleth.idp.plugin.authn.oidc.rp.impl.AbstractOIDCTest;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
/** Tests for {@link AddForceAuthenticationPromptHandler}.*/
public class AddForceAuthenticationPromptHandlerTest extends AbstractOIDCTest {
@@ -40,7 +40,7 @@ public class AddForceAuthenticationPromptHandlerTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -49,7 +49,7 @@ public class AddForceAuthenticationPromptHandlerTest extends AbstractOIDCTest {
handler = new AddForceAuthenticationPromptHandler();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRedirectURIHandlerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRedirectURIHandlerTest.java
index ac1e90e..d32822c 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRedirectURIHandlerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRedirectURIHandlerTest.java
@@ -28,7 +28,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.plugin.authn.oidc.rp.impl.AbstractOIDCTest;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
/** Tests for {@link AddRedirectURIHandler}.*/
public class AddRedirectURIHandlerTest extends AbstractOIDCTest {
@@ -40,7 +40,7 @@ public class AddRedirectURIHandlerTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -49,7 +49,7 @@ public class AddRedirectURIHandlerTest extends AbstractOIDCTest {
handler = new AddRedirectURIHandler();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRequestedClaimsHandlerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRequestedClaimsHandlerTest.java
index 04bdf42..e80f40b 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRequestedClaimsHandlerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddRequestedClaimsHandlerTest.java
@@ -30,7 +30,7 @@ import com.nimbusds.openid.connect.sdk.assurance.claims.VerifiedClaimsSetRequest
import net.shibboleth.idp.plugin.authn.oidc.rp.impl.AbstractOIDCTest;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
/** Tests for the AddRequestedClaimsHandler action.*/
@@ -43,7 +43,7 @@ public class AddRequestedClaimsHandlerTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -52,7 +52,7 @@ public class AddRequestedClaimsHandlerTest extends AbstractOIDCTest {
handler = new AddRequestedClaimsHandler();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddResponseTypeAndModeHandlerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddResponseTypeAndModeHandlerTest.java
index c57d316..707af65 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddResponseTypeAndModeHandlerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddResponseTypeAndModeHandlerTest.java
@@ -30,7 +30,7 @@ import com.nimbusds.oauth2.sdk.ResponseType;
import net.shibboleth.idp.plugin.authn.oidc.rp.impl.AbstractOIDCTest;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.oidc.profile.core.OIDCAuthenticationRequest;
/** Tests for the {@link AddResponseTypeAndModeHandler} action.*/
@@ -43,7 +43,7 @@ public class AddResponseTypeAndModeHandlerTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@@ -52,7 +52,7 @@ public class AddResponseTypeAndModeHandlerTest extends AbstractOIDCTest {
super.setup();
handler = new AddResponseTypeAndModeHandler();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddScopesHandlerTest.java b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddScopesHandlerTest.java
index f88f53f..b1fd700 100644
--- a/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddScopesHandlerTest.java
+++ b/idp-oidc-rp-impl/src/test/java/net/shibboleth/idp/plugin/authn/oidc/rp/messaging/impl/AddScopesHandlerTest.java
@@ -28,7 +28,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.plugin.authn.oidc.rp.impl.AbstractOIDCTest;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
+import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
/** Tests for {@link AddScopesHandler}.*/
public class AddScopesHandlerTest extends AbstractOIDCTest {
@@ -40,7 +40,7 @@ public class AddScopesHandlerTest extends AbstractOIDCTest {
private RelyingPartyContext rpc;
/** The profile config.*/
- private OIDCAuthorizationConfiguration oidcAuthzConfig;
+ private DefaultOIDCAuthorizationConfiguration oidcAuthzConfig;
@Override
@BeforeMethod
@@ -49,7 +49,7 @@ public class AddScopesHandlerTest extends AbstractOIDCTest {
handler = new AddScopesHandler();
rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- oidcAuthzConfig = new OIDCAuthorizationConfiguration();
+ oidcAuthzConfig = new DefaultOIDCAuthorizationConfiguration();
final RelyingPartyConfiguration rpConfig = new RelyingPartyConfiguration();
rpc.setProfileConfig(oidcAuthzConfig);
rpc.setConfiguration(rpConfig);
diff --git a/idp-oidc-rp-impl/src/test/resources/conf/authn/test-oidc-credentials.xml b/idp-oidc-rp-impl/src/test/resources/conf/authn/test-oidc-credentials.xml
index 1db79c1..a88514a 100644
--- a/idp-oidc-rp-impl/src/test/resources/conf/authn/test-oidc-credentials.xml
+++ b/idp-oidc-rp-impl/src/test/resources/conf/authn/test-oidc-credentials.xml
@@ -11,10 +11,10 @@
<!-- Factories usually loaded by commons -->
<bean id="shibboleth.oidc.ClientSecretCredential" abstract="true"
- class="net.shibboleth.oidc.security.credential.impl.BasicClientSecretCredentialFactoryBean" />
+ class="net.shibboleth.oidc.security.credential.BasicClientSecretCredentialFactoryBean" />
<bean id="shibboleth.oidc.JWKCredential" abstract="true"
- class="net.shibboleth.oidc.security.credential.impl.BasicJWKCredentialFactoryBean" />
+ class="net.shibboleth.oidc.security.credential.BasicJWKCredentialFactoryBean" />
<!--
The default credential is based on the client_secret, and will be the only used credential in most cases.
diff --git a/idp-oidc-rp-impl/src/test/resources/conf/test-relying-party-postconfig.xml b/idp-oidc-rp-impl/src/test/resources/conf/test-relying-party-postconfig.xml
index ff0a19c..6c8cc51 100644
--- a/idp-oidc-rp-impl/src/test/resources/conf/test-relying-party-postconfig.xml
+++ b/idp-oidc-rp-impl/src/test/resources/conf/test-relying-party-postconfig.xml
@@ -9,7 +9,7 @@
default-init-method="initialize" default-destroy-method="destroy">
- <!-- OIDC RP and OP Profile Configurations. This normally comes from oidc-commons. -->
+ <!-- OIDC RP and OP Profile Configurations. This normally comes from oidc-config. -->
<!-- Singleton JWK cache (If the commons is not available, this is needed here) -->
<bean id="shibboleth.oidc.RemoteJwkSetCache"
@@ -49,7 +49,7 @@
p:tokenEndpointAuthMethod="%{idp.authn.oidc.rp.client.authenticationMethod:client_secret_basic}"/>
<bean id="OIDC.SSO" parent="AbstractOIDCSSOProfile" lazy-init="true"
- class="net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration"
+ class="net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration"
p:httpRequestMethod="%{idp.authn.oidc.rp.httpRequestMethod:GET}"
p:clientId="#{%{idp.authn.oidc.rp.provider.discoveryRequired:false} == true ? null : '%{idp.authn.oidc.rp.client.clientId:}'}"
p:clientCredential="#{%{idp.authn.oidc.rp.provider.discoveryRequired:false} == true ? {null} : getObject('shibboleth.authn.oidc.rp.DefaultCredential')}"
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list