[java-plugin-shibd-oidc] branch main updated: Cleanup packages
Codeberg
noreply at shibboleth.net
Fri May 8 09:51:49 UTC 2026
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch main
in repository java-plugin-shibd-oidc.
View the commit online:
https://codeberg.org/Shibboleth/java-plugin-shibd-oidc/commit/1e12be0d53e36edcbc4b81b15bef19f046a8d527
The following commit(s) were added to refs/heads/main by this push:
new 1e12be0 Cleanup packages
1e12be0 is described below
commit 1e12be0d53e36edcbc4b81b15bef19f046a8d527
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri May 8 10:49:13 2026 +0100
Cleanup packages
- Move classes into appropriate API packages
---
.../shibboleth/sp/oidc/context/package-info.java | 5 +-
.../oidc/messaging/context/logic/package-info.java | 7 +-
...WTClaimsSetFromRequestObjectLookupFunction.java | 2 +-
.../PayloadFromRequestObjectLookupFunction.java | 2 +-
.../navigate/RequestObjectTokenUpdateStrategy.java | 2 +-
.../navigate/StateFromResponseLookupFunction.java | 2 +-
.../navigate}/StateTokenLookupStrategy.java | 2 +-
.../context}/navigate/package-info.java | 7 +-
.../sp/oidc/messaging/navigate/package-info.java | 18 ---
.../java/net/shibboleth/sp/oidc/package-info.java | 5 +-
.../shibboleth/sp/oidc/profile}/OIDCSupport.java | 2 +-
.../logic/RequestObjectRequiredAndSupported.java | 2 +-
.../RequestedACRValidationActivationCondition.java | 2 +-
.../{ => profile}/config/logic/package-info.java | 7 +-
...uthenticationContextClassRefLookupStrategy.java | 3 +-
.../AuthorizationEndpointLookupStrategy.java | 4 +-
.../navigate}/DisplayParameterLookupStrategy.java | 3 +-
.../ForceAuthnParameterLookupStrategy.java | 3 +-
.../config/navigate}/LoginHintLookupStrategy.java | 3 +-
.../config/navigate}/MaxAgeLookupStrategy.java | 3 +-
.../config/navigate}/NonceLookupStrategy.java | 4 +-
.../navigate}/PKCEOptionsLookupStrategy.java | 5 +-
.../config/navigate}/PromptLookupStrategy.java | 3 +-
.../config/navigate/RedirectUriLookupFunction.java | 2 +-
.../navigate}/RedirectUriLookupStrategy.java | 3 +-
.../navigate}/RequestedClaimsLookupStrategy.java | 3 +-
.../config/navigate}/ResourceLookupStrategy.java | 3 +-
.../navigate}/ResponseModeLookupStrategy.java | 3 +-
.../navigate}/ResponseTypeLookupStrategy.java | 3 +-
.../config/navigate}/ScopeLookupStrategy.java | 3 +-
.../config/navigate}/UiLocalesLookupStrategy.java | 3 +-
.../AuthTimeRequestedActivationCondition.java | 2 +-
.../context/logic}/package-info.java | 7 +-
...tAgentAndRelyingPartyContextLookupFunction.java | 2 +-
.../AbstractProviderMetadataLookupFunction.java | 2 +-
...bstractUserInfoTokenResponseLookupStrategy.java | 2 +-
...nticationRequestFromOutboundLookupStrategy.java | 2 +-
.../AuthenticationRequestTimeLookupFunction.java | 2 +-
.../navigate/ClientIdBiFunctionLookupStrategy.java | 2 +-
.../EncryptedUserInfoJWTLookupStrategy.java | 2 +-
...AgeFromAuthenticationRequestLookupFunction.java | 2 +-
...omAuthenticationRequestStateLookupStrategy.java | 2 +-
.../PKCECodeVerifierFromStateLookupStrategy.java | 2 +-
.../RedirectUriFromStateLookupStrategy.java | 2 +-
.../RequestedACRClaimsFromStateLookupStrategy.java | 2 +-
...nfoInUserInfoResponseContextUpdateStrategy.java | 2 +-
.../navigate/UserInfoJWTLookupStrategy.java | 2 +-
.../context/navigate/package-info.java | 4 +-
.../shibboleth/sp/oidc/profile/package-info.java | 5 +-
.../idp/flows/sp/consumer/oidc/oidc-beans.xml | 24 +--
.../idp/flows/sp/initiator/oidc/oidc-beans.xml | 44 +++---
.../shibboleth/idp/flows/sp/oidc-common-beans.xml | 4 +-
.../impl/DecodeStateAsJsonObjectConsumer.java | 171 ---------------------
.../oidc/profile/decoding/impl/package-info.java | 18 ---
.../sp/oidc/profile/impl/BuildRequestObject.java | 5 +-
...izeOAuth2ClientAuthenticationMethodHandler.java | 3 +-
.../impl/InitializeOAuth2ClientContext.java | 2 +-
.../sp/oidc/profile/impl/StateLookupStrategy.java | 147 ------------------
.../oidc/profile/impl/ValidateResponseState.java | 114 --------------
.../AuthTimeRequestedActivationConditionTest.java | 1 +
...nticationContextClassRefLookupStrategyTest.java | 1 +
...uthenticationRequestTimeLookupFunctionTest.java | 1 +
.../impl/CreateAuthenticationStateDataTest.java | 8 +-
.../impl/DisplayParameterLookupStrategyTest.java | 1 +
.../ForceAuthnParameterLookupStrategyTest.java | 1 +
...romAuthenticationRequestLookupFunctionTest.java | 1 +
...uestedACRClaimsFromStateLookupStrategyTest.java | 1 +
...uestedACRValidationActivationConditionTest.java | 1 +
.../impl/RequestedClaimsLookupStrategyTest.java | 1 +
.../profile/impl/ResourceLookupStrategyTest.java | 1 +
.../oidc/profile/impl/ScopeLookupStrategyTest.java | 1 +
.../profile/impl/UiLocalesLookupStrategyTest.java | 1 +
72 files changed, 151 insertions(+), 566 deletions(-)
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/package-info.java
index 8bb753a..5622da8 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/package-info.java
@@ -15,4 +15,7 @@
/**
* Context classes for RP-specific information needed by profile actions.
*/
-package net.shibboleth.sp.oidc.context;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.sp.oidc.context;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/logic/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/logic/package-info.java
index 1611dca..e36061e 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/logic/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/logic/package-info.java
@@ -13,6 +13,9 @@
*/
/**
- * Predicates for RP-specific messaging configuration.
+ * Predicates related to message context content.
*/
-package net.shibboleth.sp.oidc.messaging.context.logic;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.sp.oidc.messaging.context.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
similarity index 98%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
index 6a81d43..38100aa 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/JWTClaimsSetFromRequestObjectLookupFunction.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.messaging.context.navigate;
import java.text.ParseException;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/PayloadFromRequestObjectLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/PayloadFromRequestObjectLookupFunction.java
similarity index 98%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/PayloadFromRequestObjectLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/PayloadFromRequestObjectLookupFunction.java
index bd5e1ca..be43312 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/PayloadFromRequestObjectLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/PayloadFromRequestObjectLookupFunction.java
@@ -13,7 +13,7 @@
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.messaging.context.navigate;
import java.text.ParseException;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/RequestObjectTokenUpdateStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/RequestObjectTokenUpdateStrategy.java
similarity index 97%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/RequestObjectTokenUpdateStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/RequestObjectTokenUpdateStrategy.java
index 902e612..e87187a 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/RequestObjectTokenUpdateStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/RequestObjectTokenUpdateStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.messaging.context.navigate;
import java.util.function.BiConsumer;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/navigate/StateFromResponseLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/StateFromResponseLookupFunction.java
similarity index 96%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/navigate/StateFromResponseLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/StateFromResponseLookupFunction.java
index 7c3e1da..c63c4ec 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/navigate/StateFromResponseLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/StateFromResponseLookupFunction.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.messaging.navigate;
+package net.shibboleth.sp.oidc.messaging.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/StateTokenLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/StateTokenLookupStrategy.java
similarity index 97%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/StateTokenLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/StateTokenLookupStrategy.java
index f906585..8ee195d 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/StateTokenLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/StateTokenLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.messaging.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/package-info.java
similarity index 75%
copy from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java
copy to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/package-info.java
index bd6680b..97e8276 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/context/navigate/package-info.java
@@ -13,6 +13,9 @@
*/
/**
- * Functions to navigate into profile configuration information.
+ * Functions to navigate message contexts.
*/
-package net.shibboleth.sp.oidc.config.navigate;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.sp.oidc.messaging.context.navigate;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/navigate/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/navigate/package-info.java
deleted file mode 100644
index 042a52e..0000000
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/messaging/navigate/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed 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.
- */
-
-/**
- * Functions to navigate into profile messages.
- */
-package net.shibboleth.sp.oidc.messaging.navigate;
\ No newline at end of file
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/package-info.java
index a72d8e5..5892c82 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/package-info.java
@@ -15,4 +15,7 @@
/**
* Supporting APIs and classes for OIDC protocol support in the SP Hub.
*/
-package net.shibboleth.sp.oidc;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.sp.oidc;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/OIDCSupport.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/OIDCSupport.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/OIDCSupport.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/OIDCSupport.java
index 0a1b586..2d5ff6d 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/OIDCSupport.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/OIDCSupport.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile;
import java.security.SecureRandom;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/logic/RequestObjectRequiredAndSupported.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/RequestObjectRequiredAndSupported.java
similarity index 98%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/logic/RequestObjectRequiredAndSupported.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/RequestObjectRequiredAndSupported.java
index 68d3532..f21e071 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/logic/RequestObjectRequiredAndSupported.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/RequestObjectRequiredAndSupported.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.config.logic;
+package net.shibboleth.sp.oidc.profile.config.logic;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRValidationActivationCondition.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/RequestedACRValidationActivationCondition.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRValidationActivationCondition.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/RequestedACRValidationActivationCondition.java
index 02f38b3..ac7df65 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRValidationActivationCondition.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/RequestedACRValidationActivationCondition.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.logic;
import java.util.function.BiPredicate;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/logic/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/package-info.java
similarity index 76%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/logic/package-info.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/package-info.java
index c5f560e..c1b9580 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/logic/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/logic/package-info.java
@@ -13,6 +13,9 @@
*/
/**
- * Predicates for RP-specific messaging configuration.
+ * Predicates for configuration logic.
*/
-package net.shibboleth.sp.oidc.config.logic;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.sp.oidc.profile.config.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationContextClassRefLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/AuthenticationContextClassRefLookupStrategy.java
similarity index 95%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationContextClassRefLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/AuthenticationContextClassRefLookupStrategy.java
index 9282310..53d8bd2 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationContextClassRefLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/AuthenticationContextClassRefLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.security.Principal;
import java.util.List;
@@ -32,6 +32,7 @@ import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthorizationEndpointLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/AuthorizationEndpointLookupStrategy.java
similarity index 89%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthorizationEndpointLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/AuthorizationEndpointLookupStrategy.java
index 988f8ad..3234e83 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthorizationEndpointLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/AuthorizationEndpointLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.net.URI;
@@ -22,6 +22,8 @@ import org.opensaml.messaging.context.MessageContext;
import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractProviderMetadataLookupFunction;
+
/**
* Get the OAuth 2.0 authorization endpoint from the OpenID Provider metadata.
*/
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/DisplayParameterLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/DisplayParameterLookupStrategy.java
similarity index 91%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/DisplayParameterLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/DisplayParameterLookupStrategy.java
index dd54868..0d11bf2 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/DisplayParameterLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/DisplayParameterLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import javax.annotation.Nullable;
@@ -21,6 +21,7 @@ import org.opensaml.messaging.context.MessageContext;
import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* Retrieve the 'display' parameter from either the {@link DDF} if present, or the profile configuration.
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ForceAuthnParameterLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ForceAuthnParameterLookupStrategy.java
similarity index 94%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ForceAuthnParameterLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ForceAuthnParameterLookupStrategy.java
index 1ec550c..0690312 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ForceAuthnParameterLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ForceAuthnParameterLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -25,6 +25,7 @@ import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* Retrieve the ForceAuthn parameter.
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/LoginHintLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/LoginHintLookupStrategy.java
similarity index 93%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/LoginHintLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/LoginHintLookupStrategy.java
index 3d23a25..ed0d19c 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/LoginHintLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/LoginHintLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -25,6 +25,7 @@ import net.shibboleth.oidc.profile.config.OIDCAuthorizationConfiguration;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* Retrieve the 'login_hint' parameter from the {@link DDF} if it is present and
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/MaxAgeLookupStrategy.java
similarity index 92%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/MaxAgeLookupStrategy.java
index 3f9b409..861a57d 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/MaxAgeLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.time.Duration;
@@ -23,6 +23,7 @@ import org.opensaml.messaging.context.MessageContext;
import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* Retrieve the max_age parameter from the {@link DDF} if present.
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/NonceLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/NonceLookupStrategy.java
similarity index 90%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/NonceLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/NonceLookupStrategy.java
index 72b949d..214e3f6 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/NonceLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/NonceLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.util.function.Function;
@@ -20,6 +20,8 @@ import org.opensaml.messaging.context.MessageContext;
import com.nimbusds.openid.connect.sdk.Nonce;
+import net.shibboleth.sp.oidc.profile.OIDCSupport;
+
/**
* A simple strategy that uses a secure random implementation to generate a nonce of length 16.
*/
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PKCEOptionsLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/PKCEOptionsLookupStrategy.java
similarity index 90%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PKCEOptionsLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/PKCEOptionsLookupStrategy.java
index c46f10d..c2b492d 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PKCEOptionsLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/PKCEOptionsLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import javax.annotation.Nullable;
@@ -20,7 +20,8 @@ import org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
-import net.shibboleth.oidc.profile.messaging.handler.impl.PKCEOptions;
+import net.shibboleth.oidc.profile.messaging.PKCEOptions;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PromptLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/PromptLookupStrategy.java
similarity index 91%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PromptLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/PromptLookupStrategy.java
index 5bb7962..3cfc8c4 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PromptLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/PromptLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -26,6 +26,7 @@ import com.nimbusds.openid.connect.sdk.Prompt;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* Retrieve the Prompt parameter from the {@link DDF}.
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/RedirectUriLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RedirectUriLookupFunction.java
similarity index 97%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/RedirectUriLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RedirectUriLookupFunction.java
index c0d9a98..8b8dce4 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/RedirectUriLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RedirectUriLookupFunction.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.config.navigate;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.net.URI;
import java.net.URISyntaxException;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RedirectUriLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RedirectUriLookupStrategy.java
similarity index 91%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RedirectUriLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RedirectUriLookupStrategy.java
index 72393f5..c604eb7 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RedirectUriLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RedirectUriLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.net.URI;
import java.net.URISyntaxException;
@@ -25,6 +25,7 @@ import org.slf4j.Logger;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.sp.ddf.DDF;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
import net.shibboleth.sp.profile.InitiatorConstants;
/**
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedClaimsLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RequestedClaimsLookupStrategy.java
similarity index 94%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedClaimsLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RequestedClaimsLookupStrategy.java
index 31d95ae..ed6b731 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedClaimsLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/RequestedClaimsLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.util.Map;
@@ -29,6 +29,7 @@ import net.minidev.json.JSONObject;
import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.shared.primitive.LoggerFactory;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResourceLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResourceLookupStrategy.java
similarity index 96%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResourceLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResourceLookupStrategy.java
index 2c23690..a1e2a1d 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResourceLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResourceLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.net.URI;
import java.net.URISyntaxException;
@@ -31,6 +31,7 @@ import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* A strategy function that extracts and validates resource indicators from the inbound {@link MessageContext} and
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResponseModeLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResponseModeLookupStrategy.java
similarity index 95%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResponseModeLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResponseModeLookupStrategy.java
index 2cb37a7..a2d07ab 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResponseModeLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResponseModeLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import javax.annotation.Nullable;
@@ -21,6 +21,7 @@ import org.opensaml.messaging.context.MessageContext;
import com.nimbusds.oauth2.sdk.ResponseMode;
import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* A lookup strategy that resolves an OpenID Connect {@link ResponseMode} from the
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResponseTypeLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResponseTypeLookupStrategy.java
similarity index 95%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResponseTypeLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResponseTypeLookupStrategy.java
index 96a54a6..2a05147 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ResponseTypeLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ResponseTypeLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -24,6 +24,7 @@ import org.opensaml.profile.context.navigate.ParentProfileRequestContextLookup;
import com.nimbusds.oauth2.sdk.ResponseType;
import net.shibboleth.oidc.profile.config.OIDCAuthenticationRelyingPartyProfileConfiguration;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* A lookup strategy that resolves an OpenID Connect {@link ResponseType} from the
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ScopeLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ScopeLookupStrategy.java
similarity index 95%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ScopeLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ScopeLookupStrategy.java
index 1cdf217..5ca5b64 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ScopeLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/ScopeLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.util.Arrays;
import java.util.Set;
@@ -30,6 +30,7 @@ import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* A strategy function that extracts Scope from the inbound {@link MessageContext} and returns them as a set of
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/UiLocalesLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/UiLocalesLookupStrategy.java
similarity index 92%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/UiLocalesLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/UiLocalesLookupStrategy.java
index 1bf60b9..e31ef15 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/UiLocalesLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/config/navigate/UiLocalesLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.config.navigate;
import java.util.Arrays;
import java.util.List;
@@ -23,6 +23,7 @@ import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.context.navigate.AbstractAgentAndRelyingPartyContextLookupFunction;
/**
* A strategy function that extracts ui_locales from the inbound {@link MessageContext} and returns them as a List of
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthTimeRequestedActivationCondition.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/logic/AuthTimeRequestedActivationCondition.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthTimeRequestedActivationCondition.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/logic/AuthTimeRequestedActivationCondition.java
index c347b08..3680b9c 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthTimeRequestedActivationCondition.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/logic/AuthTimeRequestedActivationCondition.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.logic;
import java.util.function.BiPredicate;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/logic/package-info.java
similarity index 75%
copy from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java
copy to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/logic/package-info.java
index bd6680b..a9ad30d 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/logic/package-info.java
@@ -13,6 +13,9 @@
*/
/**
- * Functions to navigate into profile configuration information.
+ * Predicates related to profile context content.
*/
-package net.shibboleth.sp.oidc.config.navigate;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.sp.oidc.profile.context.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AbstractAgentAndRelyingPartyContextLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractAgentAndRelyingPartyContextLookupFunction.java
similarity index 99%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AbstractAgentAndRelyingPartyContextLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractAgentAndRelyingPartyContextLookupFunction.java
index 306a711..09c84c7 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AbstractAgentAndRelyingPartyContextLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractAgentAndRelyingPartyContextLookupFunction.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AbstractProviderMetadataLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractProviderMetadataLookupFunction.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AbstractProviderMetadataLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractProviderMetadataLookupFunction.java
index e4609d5..d1a7620 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AbstractProviderMetadataLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractProviderMetadataLookupFunction.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/AbstractUserInfoTokenResponseLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractUserInfoTokenResponseLookupStrategy.java
similarity index 97%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/AbstractUserInfoTokenResponseLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractUserInfoTokenResponseLookupStrategy.java
index 6492be9..5f2c15d 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/AbstractUserInfoTokenResponseLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AbstractUserInfoTokenResponseLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/AuthenticationRequestFromOutboundLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AuthenticationRequestFromOutboundLookupStrategy.java
similarity index 96%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/AuthenticationRequestFromOutboundLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AuthenticationRequestFromOutboundLookupStrategy.java
index 4b29a8b..1db7c43 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/AuthenticationRequestFromOutboundLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AuthenticationRequestFromOutboundLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationRequestTimeLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AuthenticationRequestTimeLookupFunction.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationRequestTimeLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AuthenticationRequestTimeLookupFunction.java
index e1f4d0e..3b9c994 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationRequestTimeLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/AuthenticationRequestTimeLookupFunction.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.time.Duration;
import java.time.Instant;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/ClientIdBiFunctionLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/ClientIdBiFunctionLookupStrategy.java
similarity index 96%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/ClientIdBiFunctionLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/ClientIdBiFunctionLookupStrategy.java
index 2c8138d..74bbd7d 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/ClientIdBiFunctionLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/ClientIdBiFunctionLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.BiFunction;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/EncryptedUserInfoJWTLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/EncryptedUserInfoJWTLookupStrategy.java
similarity index 98%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/EncryptedUserInfoJWTLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/EncryptedUserInfoJWTLookupStrategy.java
index 7ea0dc4..232fbca 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/EncryptedUserInfoJWTLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/EncryptedUserInfoJWTLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeFromAuthenticationRequestLookupFunction.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/MaxAgeFromAuthenticationRequestLookupFunction.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeFromAuthenticationRequestLookupFunction.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/MaxAgeFromAuthenticationRequestLookupFunction.java
index bfddd25..28f47df 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeFromAuthenticationRequestLookupFunction.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/MaxAgeFromAuthenticationRequestLookupFunction.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.time.Duration;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/NonceFromAuthenticationRequestStateLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/NonceFromAuthenticationRequestStateLookupStrategy.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/NonceFromAuthenticationRequestStateLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/NonceFromAuthenticationRequestStateLookupStrategy.java
index ebdf8f9..0de6b58 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/NonceFromAuthenticationRequestStateLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/NonceFromAuthenticationRequestStateLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.BiFunction;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PKCECodeVerifierFromStateLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/PKCECodeVerifierFromStateLookupStrategy.java
similarity index 97%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PKCECodeVerifierFromStateLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/PKCECodeVerifierFromStateLookupStrategy.java
index 8bc15d8..903534f 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/PKCECodeVerifierFromStateLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/PKCECodeVerifierFromStateLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RedirectUriFromStateLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/RedirectUriFromStateLookupStrategy.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RedirectUriFromStateLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/RedirectUriFromStateLookupStrategy.java
index 8739d86..ac13ac5 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RedirectUriFromStateLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/RedirectUriFromStateLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.net.URI;
import java.net.URISyntaxException;
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRClaimsFromStateLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/RequestedACRClaimsFromStateLookupStrategy.java
similarity index 98%
rename from sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRClaimsFromStateLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/RequestedACRClaimsFromStateLookupStrategy.java
index 232e43b..ed411de 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRClaimsFromStateLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/RequestedACRClaimsFromStateLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.profile.impl;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.List;
import java.util.Objects;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/UserInfoInUserInfoResponseContextUpdateStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/UserInfoInUserInfoResponseContextUpdateStrategy.java
similarity index 97%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/UserInfoInUserInfoResponseContextUpdateStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/UserInfoInUserInfoResponseContextUpdateStrategy.java
index 0110089..86b6750 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/UserInfoInUserInfoResponseContextUpdateStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/UserInfoInUserInfoResponseContextUpdateStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.BiConsumer;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/UserInfoJWTLookupStrategy.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/UserInfoJWTLookupStrategy.java
similarity index 98%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/UserInfoJWTLookupStrategy.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/UserInfoJWTLookupStrategy.java
index 951857a..71be3be 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/UserInfoJWTLookupStrategy.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/UserInfoJWTLookupStrategy.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package net.shibboleth.sp.oidc.context.navigate;
+package net.shibboleth.sp.oidc.profile.context.navigate;
import java.util.function.Function;
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/package-info.java
similarity index 84%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/package-info.java
rename to sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/package-info.java
index 518fced..003192f 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/context/navigate/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/context/navigate/package-info.java
@@ -13,6 +13,6 @@
*/
/**
- * Functions that navigate messaging contexts.
+ * Functions that navigate profile contexts.
*/
-package net.shibboleth.sp.oidc.context.navigate;
\ No newline at end of file
+package net.shibboleth.sp.oidc.profile.context.navigate;
\ No newline at end of file
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/package-info.java b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/package-info.java
index f05bf07..19dd645 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/package-info.java
+++ b/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/profile/package-info.java
@@ -15,4 +15,7 @@
/**
* API classes for SP profile actions.
*/
-package net.shibboleth.sp.oidc.profile;
\ No newline at end of file
+ at NonnullElements
+package net.shibboleth.sp.oidc.profile;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/oidc/oidc-beans.xml b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/oidc/oidc-beans.xml
index bf089e1..d2921cd 100644
--- a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/oidc/oidc-beans.xml
+++ b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/oidc/oidc-beans.xml
@@ -39,7 +39,7 @@
p:stateDataClass="net.shibboleth.sp.oidc.profile.AuthenticationRequestStateData"
p:createOutputObjects="true"/>
- <bean id="OAuthStateLookup" class="net.shibboleth.sp.oidc.messaging.navigate.StateFromResponseLookupFunction"/>
+ <bean id="OAuthStateLookup" class="net.shibboleth.sp.oidc.messaging.context.navigate.StateFromResponseLookupFunction"/>
<bean id="ValidateAuthenticationResponseResult" scope="prototype"
@@ -124,11 +124,11 @@
p:providerMetadataLookupStrategy-ref="shibboleth.ChildLookup.OIDCProviderMetadataContextFromInboundMessageContext"
p:oAuth2ClientAuthenticationContextLookupStrategy-ref="shibboleth.ChildLookupOrCreate.OAuth2ClientAuthenticationContextFromInboundMessageContext">
<property name="redirectUriLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.RedirectUriFromStateLookupStrategy" scope="prototype"
+ <bean class="net.shibboleth.sp.oidc.profile.context.navigate.RedirectUriFromStateLookupStrategy" scope="prototype"
c:stateDataContextLookupStrategy-ref="shibboleth.ChildLookup.StateDataContextFromInbound"/>
</property>
<property name="pkceCodeVerifierLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.PKCECodeVerifierFromStateLookupStrategy" scope="prototype"
+ <bean class="net.shibboleth.sp.oidc.profile.context.navigate.PKCECodeVerifierFromStateLookupStrategy" scope="prototype"
c:stateDataContextLookupStrategy-ref="shibboleth.ChildLookup.StateDataContextFromInbound"/>
</property>
</bean>
@@ -313,7 +313,7 @@
class="net.shibboleth.oidc.security.jwt.claims.impl.NonceValidationActivationCondition" />
<bean id="DefaultNonceLookupStrategy" scope="prototype"
- class="net.shibboleth.sp.oidc.profile.impl.NonceFromAuthenticationRequestStateLookupStrategy" />
+ class="net.shibboleth.sp.oidc.profile.context.navigate.NonceFromAuthenticationRequestStateLookupStrategy" />
<bean id="OIDCMetadataContextChildLookup" class="org.opensaml.messaging.context.navigate.ChildContextLookup"
c:type="#{ T(net.shibboleth.oidc.metadata.context.OIDCMetadataContext) }" />
@@ -343,16 +343,16 @@
getObject('DefaultAuthTimeActivationCondition')}"/>
<bean id="MaxAgeLookupFunction" scope="prototype"
- class="net.shibboleth.sp.oidc.profile.impl.MaxAgeFromAuthenticationRequestLookupFunction"
+ class="net.shibboleth.sp.oidc.profile.context.navigate.MaxAgeFromAuthenticationRequestLookupFunction"
c:maxAgeDefault="%{sp.oidc.idtoken.jwt.verifier.authnLifetime:PT60S}"/>
<bean id="AuthenticationRequestTimeLookupFunction" scope="prototype"
- class="net.shibboleth.sp.oidc.profile.impl.AuthenticationRequestTimeLookupFunction"
+ class="net.shibboleth.sp.oidc.profile.context.navigate.AuthenticationRequestTimeLookupFunction"
p:clockSkew="%{sp.oidc.idtoken.jwt.verifier.authnRequestClockSkew:PT0S}"
p:stateDataContextLookupStrategy-ref="shibboleth.ChildLookup.StateDataContextFromInbound"/>
<bean id="DefaultAuthTimeActivationCondition" scope="prototype"
- class="net.shibboleth.sp.oidc.profile.impl.AuthTimeRequestedActivationCondition"
+ class="net.shibboleth.sp.oidc.profile.context.logic.AuthTimeRequestedActivationCondition"
c:stateDataContextLookupStrategy-ref="shibboleth.ChildLookup.StateDataContextFromInbound"/>
@@ -363,11 +363,11 @@
getObject('DefaultRequestedACRValidationActivationCondition')}"/>
<bean id="DefaultRequestedACRClaimLookupStrategy" scope="prototype"
- class="net.shibboleth.sp.oidc.profile.impl.RequestedACRClaimsFromStateLookupStrategy"
+ class="net.shibboleth.sp.oidc.profile.context.navigate.RequestedACRClaimsFromStateLookupStrategy"
c:stateDataContextLookupStrategy-ref="shibboleth.ChildLookup.StateDataContextFromInbound"/>
<bean id="DefaultRequestedACRValidationActivationCondition" scope="prototype"
- class="net.shibboleth.sp.oidc.profile.impl.RequestedACRValidationActivationCondition"
+ class="net.shibboleth.sp.oidc.profile.config.logic.RequestedACRValidationActivationCondition"
c:relyingPartyContextLookupStrategy-ref="shibboleth.ChildLookup.RelyingParty"/>
<!-- End ID Token Claims Validation -->
@@ -420,10 +420,10 @@
<bean id="DecryptUserInfoJWE" class="net.shibboleth.oidc.security.impl.DecryptJWE" scope="prototype">
<property name="jwtTokenLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.context.navigate.EncryptedUserInfoJWTLookupStrategy"/>
+ <bean class="net.shibboleth.sp.oidc.profile.context.navigate.EncryptedUserInfoJWTLookupStrategy"/>
</property>
<property name="jwtUpdateStrategy">
- <bean class="net.shibboleth.sp.oidc.context.navigate.UserInfoInUserInfoResponseContextUpdateStrategy" />
+ <bean class="net.shibboleth.sp.oidc.profile.context.navigate.UserInfoInUserInfoResponseContextUpdateStrategy" />
</property>
</bean>
@@ -487,7 +487,7 @@
p:claimValidators-ref="UserInfoClaimsValidators" />
<bean id="DefaultUserInfoTokenLookupStrategy"
- class="net.shibboleth.sp.oidc.context.navigate.UserInfoJWTLookupStrategy" />
+ class="net.shibboleth.sp.oidc.profile.context.navigate.UserInfoJWTLookupStrategy" />
<util:list id="UserInfoClaimsValidators" value-type="net.shibboleth.oidc.jwt.claims.ClaimsValidator">
<ref bean="UserInfoTokenRequiredClaimsValidator" />
diff --git a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml
index e05866e..9af5c0a 100644
--- a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml
+++ b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml
@@ -62,14 +62,14 @@
<bean id="AddResponseType" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddResponseTypeHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.ResponseTypeLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.ResponseTypeLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddResponseMode" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddResponseModeHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.ResponseModeLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.ResponseModeLookupStrategy"
scope="prototype" />
</property>
</bean>
@@ -77,28 +77,28 @@
<bean id="AddMaxAge" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddMaxAgeHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.MaxAgeLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.MaxAgeLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddDisplay" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddDisplayHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.DisplayParameterLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.DisplayParameterLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddScopes" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddScopesHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.ScopeLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.ScopeLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddNonce" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddNonceHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.NonceLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.NonceLookupStrategy"
scope="prototype" />
</property>
</bean>
@@ -106,35 +106,35 @@
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddEndpointURIHandler">
<property name="parameterValueLookupStrategy">
<bean
- class="net.shibboleth.sp.oidc.profile.impl.AuthorizationEndpointLookupStrategy"
+ class="net.shibboleth.sp.oidc.profile.config.navigate.AuthorizationEndpointLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddLoginHintHandler" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddLoginHintHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.LoginHintLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.LoginHintLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddRequestedClaims" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddRequestedClaimsHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.RequestedClaimsLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.RequestedClaimsLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddPKCECodeVerifierAndChallenge" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddPKCECodeVerifierAndChallenge">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.PKCEOptionsLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.PKCEOptionsLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddRedirectURI" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddRedirectURIHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.RedirectUriLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.RedirectUriLookupStrategy"
scope="prototype" />
</property>
</bean>
@@ -142,34 +142,34 @@
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddAuthenticationContextClassReferencesHandler">
<property name="parameterValueLookupStrategy">
<bean
- class="net.shibboleth.sp.oidc.profile.impl.AuthenticationContextClassRefLookupStrategy"
+ class="net.shibboleth.sp.oidc.profile.config.navigate.AuthenticationContextClassRefLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddForceAuthentication" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddForceAuthenticationHandler">
<property name="ParameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.ForceAuthnParameterLookupStrategy" />
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.ForceAuthnParameterLookupStrategy" />
</property>
</bean>
<bean id="AddPrompt" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddPromptHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.PromptLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.PromptLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddResourceIndicators" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddResourceHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.ResourceLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.ResourceLookupStrategy"
scope="prototype" />
</property>
</bean>
<bean id="AddUiLocales" scope="prototype"
class="net.shibboleth.oidc.profile.messaging.handler.impl.AddUiLocalesHandler">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.UiLocalesLookupStrategy"
+ <bean class="net.shibboleth.sp.oidc.profile.config.navigate.UiLocalesLookupStrategy"
scope="prototype" />
</property>
</bean>
@@ -183,7 +183,7 @@
</bean>
<bean id="RequestObjectRequiredAndSupportedPredicate" scope="prototype"
- class="net.shibboleth.sp.oidc.config.logic.RequestObjectRequiredAndSupported" />
+ class="net.shibboleth.sp.oidc.profile.config.logic.RequestObjectRequiredAndSupported" />
<bean id="PopulateRequestObjectSignatureSigningParameters" scope="prototype"
class="net.shibboleth.oidc.profile.impl.PopulateJWTSignatureSigningParameters"
@@ -305,7 +305,7 @@
<bean id="AddState" class="net.shibboleth.oidc.profile.messaging.handler.impl.AddStateHandler"
scope="prototype">
<property name="parameterValueLookupStrategy">
- <bean class="net.shibboleth.sp.oidc.profile.impl.StateTokenLookupStrategy" scope="prototype"
+ <bean class="net.shibboleth.sp.oidc.messaging.context.navigate.StateTokenLookupStrategy" scope="prototype"
c:stateDataContextLookupStrategy-ref="shibboleth.ChildLookup.StateDataContextFromOutbound"/>
</property>
</bean>
@@ -318,10 +318,10 @@
scope="prototype" p:logName="RequestObject">
<property name="claimsToSignLookupStrategy">
<bean
- class="net.shibboleth.sp.oidc.context.navigate.JWTClaimsSetFromRequestObjectLookupFunction" />
+ class="net.shibboleth.sp.oidc.messaging.context.navigate.JWTClaimsSetFromRequestObjectLookupFunction" />
</property>
<property name="jwtUpdateConsumer">
- <bean class="net.shibboleth.sp.oidc.context.navigate.RequestObjectTokenUpdateStrategy" />
+ <bean class="net.shibboleth.sp.oidc.messaging.context.navigate.RequestObjectTokenUpdateStrategy" />
</property>
</bean>
@@ -329,10 +329,10 @@
scope="prototype" p:logName="RequestObject">
<property name="payloadToEncryptLookupStrategy">
<bean
- class="net.shibboleth.sp.oidc.context.navigate.PayloadFromRequestObjectLookupFunction" />
+ class="net.shibboleth.sp.oidc.messaging.context.navigate.PayloadFromRequestObjectLookupFunction" />
</property>
<property name="jwtUpdateConsumer">
- <bean class="net.shibboleth.sp.oidc.context.navigate.RequestObjectTokenUpdateStrategy" />
+ <bean class="net.shibboleth.sp.oidc.messaging.context.navigate.RequestObjectTokenUpdateStrategy" />
</property>
</bean>
<bean id="SetAuthenticationRequestTime"
diff --git a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/oidc-common-beans.xml b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/oidc-common-beans.xml
index cf87cb0..a5aa408 100644
--- a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/oidc-common-beans.xml
+++ b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/oidc-common-beans.xml
@@ -89,10 +89,10 @@
c:type="#{ T(net.shibboleth.oidc.profile.context.OAuth2ClientContext) }" />
<bean id="shibboleth.AuthenticationRequestLookup.FromOutbound"
- class="net.shibboleth.sp.oidc.context.navigate.AuthenticationRequestFromOutboundLookupStrategy" />
+ class="net.shibboleth.sp.oidc.profile.context.navigate.AuthenticationRequestFromOutboundLookupStrategy" />
<!-- Add BiFunction for use with validators that find the clientId from the sp.issuer -->
- <bean id="shibboleth.ClientIdLookup.BiFunction" class="net.shibboleth.sp.oidc.context.navigate.ClientIdBiFunctionLookupStrategy">
+ <bean id="shibboleth.ClientIdLookup.BiFunction" class="net.shibboleth.sp.oidc.profile.context.navigate.ClientIdBiFunctionLookupStrategy">
<constructor-arg ref="shibboleth.ClientIdLookup.Simple"/>
</bean>
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/decoding/impl/DecodeStateAsJsonObjectConsumer.java b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/decoding/impl/DecodeStateAsJsonObjectConsumer.java
deleted file mode 100644
index 71d322f..0000000
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/decoding/impl/DecodeStateAsJsonObjectConsumer.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Licensed 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.sp.oidc.profile.decoding.impl;
-
-import java.nio.charset.StandardCharsets;
-import java.util.function.Function;
-import java.util.function.Predicate;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.opensaml.messaging.context.MessageContext;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.profile.context.navigate.ParentProfileRequestContextLookup;
-import org.slf4j.Logger;
-
-import com.nimbusds.oauth2.sdk.id.State;
-import com.nimbusds.openid.connect.sdk.AuthenticationResponse;
-
-import net.minidev.json.JSONObject;
-import net.minidev.json.JSONValue;
-import net.minidev.json.parser.ParseException;
-import net.shibboleth.shared.codec.Base64Support;
-import net.shibboleth.shared.codec.DecodingException;
-import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
-import net.shibboleth.shared.logic.Constraint;
-import net.shibboleth.shared.logic.PredicateSupport;
-import net.shibboleth.shared.primitive.LoggerFactory;
-import net.shibboleth.shared.security.DataSealer;
-import net.shibboleth.shared.security.DataSealerException;
-import net.shibboleth.sp.oidc.context.OAuthStateContext;
-
-/**
- * Decodes the OAuth 2.0 state parameter from the {@link AuthenticationResponse} message
- * into a {@link JSONObject}. The state parameter is assumed to be base64 encoded.
- *
- * <p>If sealing is enabled, unwrap the state using the {@link DataSealer} provided. </p>
- *
- * <p>Returns true if the operation was successful. Returns false if the state cannot be decoded or parsed into a
- * valid JSON object.</p>
- */
-public class DecodeStateAsJsonObjectConsumer extends AbstractIdentifiableInitializableComponent
- implements Function<MessageContext, Boolean> {
-
- /** Lookup function for parent ProfileRequestContext. */
- @Nonnull private static final ParentProfileRequestContextLookup<MessageContext> PRC_LOOKUP
- = new ParentProfileRequestContextLookup<>();
-
- /** Class logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(DecodeStateAsJsonObjectConsumer.class);
-
-
- /** Optional data sealer to use. */
- @Nullable private DataSealer dataSealer;
-
- /**
- * If the dataSealer is provided should it be used to unwrap the state? Defaults to true,
- * that is, if the dataSealer is provided, always attempt to unwrap the state.
- */
- @Nonnull private Predicate<ProfileRequestContext> unsealState;
-
- /** Constructor.*/
- public DecodeStateAsJsonObjectConsumer() {
- unsealState = PredicateSupport.alwaysTrue();
- }
-
- /**
- * Sets {@link DataSealer} to use.
- *
- * @param sealer data sealer
- */
- public void setDataSealer(@Nullable final DataSealer sealer) {
- checkSetterPreconditions();
-
- dataSealer = sealer;
- }
-
- /**
- * Set the predicate to determine whether to unseal the state.
- *
- * @param predicate the seal state predicate to set.
- */
- public void setUnsealStatePredicate(@Nonnull final Predicate<ProfileRequestContext> predicate) {
- checkSetterPreconditions();
-
- unsealState = Constraint.isNotNull(predicate, "Seal state predicate can not be null");
- }
-
- /**
- * Set the flag to determine whether to unseal the state.
- *
- * @param flag the flag to set.
- */
- public void setUnsealState(final boolean flag) {
- checkSetterPreconditions();
-
- unsealState = flag ? PredicateSupport.alwaysTrue() : PredicateSupport.alwaysFalse();
- }
-
- /** {@inheritDoc} */
- @Override
- public Boolean apply(@Nullable final MessageContext messageContext) {
-
- if (messageContext == null || !(messageContext.getMessage() instanceof final AuthenticationResponse response)) {
- log.debug("Unable to decode OAuth state into a JSON token, no authentication response");
- return false;
- }
-
- final State responseState = response.getState();
- if (responseState == null) {
- log.debug("Unable to decode OAuth state into a JSON token, no state in response");
- return false;
- }
-
- try {
-
- final String stateValue = responseState.getValue();
- assert stateValue != null;
- Object stateObjectParsed = null;
-
- // If sealed or not sealed, we base64 URL decode the state value first. This therefore assumes the state
- // value is always base64 encoded. In the case of sealed state, the sealed value is also base64 (non-url)
- // encoded, so we base64 URL decode to return back to the base64 encoded value to unwrap.
- final byte[] decodedBytes = Base64Support.decodeURLSafe(stateValue);
-
- final var localDataSealer = dataSealer;
- if (localDataSealer != null && unsealState.test(PRC_LOOKUP.apply(messageContext))) {
- final String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);
- log.trace("Attempting to unseal state value '{}'", decodedString);
- final String unwrapped = localDataSealer.unwrap(decodedString);
- log.trace("Unwrapped state '{}'", unwrapped);
- stateObjectParsed = JSONValue.parseWithException(unwrapped);
- } else {
- final String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);
- stateObjectParsed = JSONValue.parseWithException(decodedString);
-
- }
-
-
- if (!(stateObjectParsed instanceof JSONObject)) {
- log.debug("OAuth state did not decode to a JSON object");
- return false;
- }
- final JSONObject jsonState = (JSONObject) stateObjectParsed;
- log.trace("Decoded JSON state '{}'", stateObjectParsed);
-
- messageContext.ensureSubcontext(OAuthStateContext.class)
- .setState(responseState.getValue())
- .setStateJson(jsonState);
-
- } catch (final DecodingException | ParseException | DataSealerException e) {
- log.debug("Unable to decode OAuth state into a JSON token", e);
- return false;
- }
- return true;
-
- }
-
-}
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/decoding/impl/package-info.java b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/decoding/impl/package-info.java
deleted file mode 100644
index cf16baa..0000000
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/decoding/impl/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed 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.
- */
-
-/**
- * OIDC profile decoding implementation classes.
- */
-package net.shibboleth.sp.oidc.profile.decoding.impl;
\ No newline at end of file
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/BuildRequestObject.java b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/BuildRequestObject.java
index 41b3225..f8e55e9 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/BuildRequestObject.java
+++ b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/BuildRequestObject.java
@@ -58,8 +58,7 @@ import net.shibboleth.shared.primitive.LoggerFactory;
* {@link OIDCAuthenticationRequest} located under {@link ProfileRequestContext#getOutboundMessageContext()}.
*
* <p>Note, some parameters are set downstream in the flow before the request object is signed and or encrypted.
- * These parameters are only available to the HTTP Controller e.g. state, and must be set during the external
- * authentication redirect.</p>
+ * These parameters are only available at that stage e.g. state.</p>
*
* @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
* @event {@link EventIds#INVALID_MSG_CTX}
@@ -113,8 +112,6 @@ public class BuildRequestObject extends AbstractProfileAction {
* Set a bi-consumer hook to add custom claims to the request object.
*
* @param strategy The custom claims strategy to set.
- *
- * @since 2.1.0
*/
public void setCustomClaimsStrategy(@Nullable final BiConsumer<ProfileRequestContext, ClaimsSet> strategy) {
checkSetterPreconditions();
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java
index 38e4e79..82c318f 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java
+++ b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientAuthenticationMethodHandler.java
@@ -62,10 +62,11 @@ import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.sp.oidc.profile.OIDCSupport;
/**
* An {@link AbstractMessageHandler action} that resolves the Client Authentication method for the chosen
- * upstream OpenID Provider (issuer) from the profile configuration, and adds it to the
+ * OpenID Provider (issuer) from the profile configuration, and adds it to the
* {@link OAuth2ClientAuthenticationContext}.
*
* <p>If a JWT client authentication type, the security parameters context is used to create a signed JWT
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientContext.java b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientContext.java
index 770bf53..55ca76d 100644
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientContext.java
+++ b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/InitializeOAuth2ClientContext.java
@@ -37,7 +37,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.sp.oidc.config.navigate.RedirectUriLookupFunction;
+import net.shibboleth.sp.oidc.profile.config.navigate.RedirectUriLookupFunction;
import net.shibboleth.sp.profile.AbstractAgentAction;
/**
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/StateLookupStrategy.java b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/StateLookupStrategy.java
deleted file mode 100644
index 053b523..0000000
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/StateLookupStrategy.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed 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.sp.oidc.profile.impl;
-
-import java.nio.charset.StandardCharsets;
-import java.util.function.Predicate;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.opensaml.messaging.context.MessageContext;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.profile.context.navigate.ParentProfileRequestContextLookup;
-import org.slf4j.Logger;
-
-import net.minidev.json.JSONObject;
-import net.minidev.json.JSONValue;
-import net.shibboleth.oidc.profile.core.StateToken;
-import net.shibboleth.shared.codec.Base64Support;
-import net.shibboleth.shared.codec.EncodingException;
-import net.shibboleth.shared.logic.Constraint;
-import net.shibboleth.shared.logic.PredicateSupport;
-import net.shibboleth.shared.primitive.LoggerFactory;
-import net.shibboleth.shared.security.DataSealer;
-import net.shibboleth.shared.security.DataSealerException;
-import net.shibboleth.sp.ddf.DDF;
-import net.shibboleth.sp.oidc.profile.OIDCConstants;
-import net.shibboleth.sp.profile.SPConstants;
-
-/**
- * A strategy function that constructs a Base64URL encoded JSON object containing a state value from the input
- * {@link DDF} and a cryptographically secure request forgery protection value for CSRF protection.
- *
- * <p>The JSON Object includes the following:</p>
- * <ul>
- * <li><b>state</b>: The value of {@code SPConstants.STATE} from the input DDF.</li>
- * <li><b>rfp</b>: A securely generated random string (32 characters).</li>
- * </ul>
-*/
-public class StateLookupStrategy extends AbstractAgentAndRelyingPartyContextLookupFunction<StateToken> {
-
- /** Lookup function for parent ProfileRequestContext. */
- @Nonnull private static final ParentProfileRequestContextLookup<MessageContext> PRC_LOOKUP
- = new ParentProfileRequestContextLookup<>();
-
- /** Class logger. */
- @Nonnull
- private final Logger log = LoggerFactory.getLogger(StateLookupStrategy.class);
-
- /** Optional data sealer to use. */
- @Nullable private DataSealer dataSealer;
-
- /**
- * If the dataSealer is provided should it be used to seal the authentication request state? Defaults to true,
- * that is, if the dataSealer is provided, always seal state.
- */
- @Nonnull private Predicate<ProfileRequestContext> sealState;
-
- /** Constructor.*/
- public StateLookupStrategy() {
- sealState = PredicateSupport.alwaysTrue();
- }
-
- /**
- * Sets {@link DataSealer} to use.
- *
- * @param sealer data sealer
- */
- public void setDataSealer(@Nullable final DataSealer sealer) {
- dataSealer = sealer;
- }
-
- /**
- * Set the predicate to determine whether to seal the state.
- *
- * @param predicate the seal state predicate to set.
- */
- public void setSealStatePredicate(@Nonnull final Predicate<ProfileRequestContext> predicate) {
- sealState = Constraint.isNotNull(predicate, "Seal state predicate can not be null");
- }
-
- /**
- * Set the flag to determine whether to seal the state.
- *
- * @param flag the flag to set.
- */
- public void setSealState(final boolean flag) {
- sealState = flag ? PredicateSupport.alwaysTrue() : PredicateSupport.alwaysFalse();
- }
-
-
- /** {@inheritDoc} */
- @Override
- public StateToken apply(final MessageContext messageCtx) {
- final DDF input = getDDF(messageCtx, DDFDirection.INPUT);
- if (input == null) {
- return null;
- }
-
- final JSONObject stateObject = new JSONObject();
- stateObject.appendField(OIDCConstants.STATE_FIELD, input.getmember(SPConstants.STATE).string());
- stateObject.appendField(OIDCConstants.RFP_FIELD, OIDCSupport.generateRandom(32));
- final String stateJsonString = stateObject.toJSONString(JSONValue.COMPRESSION);
- if (stateJsonString == null || stateJsonString.isEmpty()) {
- return null;
- }
- try {
- final DataSealer localDataSealer = dataSealer;
- if (localDataSealer != null && sealState.test(PRC_LOOKUP.apply(messageCtx))) {
- log.trace("Sealing OAuth state");
- final String wrapped = localDataSealer.wrap(stateJsonString);
- final byte[] wrappedAsBytes = wrapped.getBytes(StandardCharsets.UTF_8);
- if (wrappedAsBytes == null) {
- log.error("Unable to seal OAuth state, wrapped bytes are empty");
- return null;
- }
- // The data sealer base64 encodes the sealed output, we base64 URL encode the base64 encoded output
- // for transport in the URL.
- return new StateToken(Base64Support.encodeURLSafe(wrappedAsBytes), stateObject);
- }
- log.warn("OAuth state was NOT sealed, either DataSealer is not configured or "
- + "sealing predicate returned false. Sealing should be enabled in production");
-
- final byte[] stateJsonAsBytes = stateJsonString.getBytes(StandardCharsets.UTF_8);
- assert stateJsonAsBytes != null;
- final String serializedValue = Base64Support.encodeURLSafe(stateJsonAsBytes);
- return new StateToken(serializedValue, stateObject);
- } catch (final EncodingException | DataSealerException e) {
- log.error("Unable to generate OAuth state", e);
- return null;
- }
-
- }
-
-}
diff --git a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ValidateResponseState.java b/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ValidateResponseState.java
deleted file mode 100644
index a3a5aef..0000000
--- a/sp-oidc-impl/src/main/java/net/shibboleth/sp/oidc/profile/impl/ValidateResponseState.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed 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.sp.oidc.profile.impl;
-
-import java.util.function.Function;
-
-import javax.annotation.Nonnull;
-
-import org.opensaml.profile.action.ActionSupport;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-
-import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.logic.Constraint;
-import net.shibboleth.shared.primitive.LoggerFactory;
-import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.sp.profile.AbstractApplicationAction;
-
-/**
- * An action that validates that the request forgery protection (RFP) nonce in the OAuth 2.0 state parameter in the
- * response matches that recovered from the stored RFP nonce in the correlation cookie.
- */
-public class ValidateResponseState extends AbstractApplicationAction {
-
- /** Class logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(ValidateResponseState.class);
-
- /** Lookup strategy for the RFP value stored in the OAuth state parameter. */
- @NonnullAfterInit private Function<ProfileRequestContext,String> rfpTokenFromOAuthStateLookupStrategy;
-
- /**
- * Lookup strategy to obtain the RFP value stored against the users session in a cookie. This represents
- * the RFP value that was sent in the initial request.
- */
- @NonnullAfterInit private Function<ProfileRequestContext, String> rfpFromCookieLookupStrategy;
-
- /** {@inheritDoc} */
- @Override
- protected void doInitialize() throws ComponentInitializationException {
- super.doInitialize();
-
- if (rfpFromCookieLookupStrategy == null) {
- throw new ComponentInitializationException("Request forgery token lookup strategy from cookie "
- + "cannot be null");
- }
- if (rfpTokenFromOAuthStateLookupStrategy == null) {
- throw new ComponentInitializationException("Request forgery token lookup strategy from OAuth state"
- + " cannot be null");
- }
- }
-
- /**
- * Sets the lookup strategy to obtain the RFP value stored in the OAuth state
- * parameter.
- *
- * @param strategy
- * lookup strategy
- */
- public void setRfpTokenFromOAuthStateLookupStrategy(final Function<ProfileRequestContext, String> strategy) {
- checkSetterPreconditions();
- rfpTokenFromOAuthStateLookupStrategy = Constraint.isNotNull(strategy,
- "RFP token from oAuth state lookup strategy can not be null");
- }
- /**
- * Set the lookup strategy to obtain the RFP value stored against the users session in a cookie.
- *
- * @param strategy lookup strategy
- */
- public void setRfpFromCookieLookupStrategy(final Function<ProfileRequestContext, String> strategy) {
- checkSetterPreconditions();
- rfpFromCookieLookupStrategy = Constraint.isNotNull(strategy,
- "RFP from cookie lookup strategy can not be null");
- }
-
- @Override
- protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
-
- final String rfpFromCorrelationCookie = rfpFromCookieLookupStrategy.apply(profileRequestContext);
- final String rfpFromStateParam = rfpTokenFromOAuthStateLookupStrategy.apply(profileRequestContext);
-
- if (StringSupport.trimOrNull(rfpFromCorrelationCookie) == null ||
- StringSupport.trimOrNull(rfpFromStateParam) == null) {
- log.error("{} Required OAuth state data was missing from the request or response, "
- + "state is required",getLogPrefix());
- ActionSupport.buildEvent(profileRequestContext, EventIds.MESSAGE_PROC_ERROR);
- return;
- }
- assert rfpFromCorrelationCookie != null;
- if (!rfpFromCorrelationCookie.equals(rfpFromStateParam)) {
- log.error("{} Request state did not match response state, has it been tampered with!",
- getLogPrefix());
- ActionSupport.buildEvent(profileRequestContext, EventIds.MESSAGE_PROC_ERROR);
- return;
- }
- // else state is fine.
- log.debug("{} OAuth 2.0 request and response state match, continuing",getLogPrefix());
-
- }
-
-}
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthTimeRequestedActivationConditionTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthTimeRequestedActivationConditionTest.java
index 8c442e5..ff35c12 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthTimeRequestedActivationConditionTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthTimeRequestedActivationConditionTest.java
@@ -25,6 +25,7 @@ import com.nimbusds.jwt.JWTClaimsSet;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.sp.context.StateDataContext;
import net.shibboleth.sp.oidc.profile.AuthenticationRequestStateData;
+import net.shibboleth.sp.oidc.profile.context.logic.AuthTimeRequestedActivationCondition;
import net.shibboleth.sp.profile.impl.BaseApplicationActionTest;
/**
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationContextClassRefLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationContextClassRefLookupStrategyTest.java
index 02e1eea..72d6bb6 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationContextClassRefLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationContextClassRefLookupStrategyTest.java
@@ -31,6 +31,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.config.navigate.AuthenticationContextClassRefLookupStrategy;
import net.shibboleth.sp.profile.InitiatorConstants;
import net.shibboleth.sp.profile.SPConstants;
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationRequestTimeLookupFunctionTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationRequestTimeLookupFunctionTest.java
index 91b862f..0d035a0 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationRequestTimeLookupFunctionTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/AuthenticationRequestTimeLookupFunctionTest.java
@@ -25,6 +25,7 @@ import org.testng.annotations.Test;
import net.shibboleth.sp.context.StateDataContext;
import net.shibboleth.sp.oidc.profile.AuthenticationRequestStateData;
+import net.shibboleth.sp.oidc.profile.context.navigate.AuthenticationRequestTimeLookupFunction;
/**
* Tests for {@link AuthenticationRequestTimeLookupFunction}.
diff --git a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/CreateAuthenticationStateDataTest.java
similarity index 79%
rename from sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java
rename to sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/CreateAuthenticationStateDataTest.java
index bd6680b..0129b63 100644
--- a/sp-oidc-api/src/main/java/net/shibboleth/sp/oidc/config/navigate/package-info.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/CreateAuthenticationStateDataTest.java
@@ -12,7 +12,11 @@
* limitations under the License.
*/
+package net.shibboleth.sp.oidc.profile.impl;
+
/**
- * Functions to navigate into profile configuration information.
+ * Tests for {@link CreateAuthenticationStateData}.
*/
-package net.shibboleth.sp.oidc.config.navigate;
\ No newline at end of file
+public class CreateAuthenticationStateDataTest {
+
+}
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/DisplayParameterLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/DisplayParameterLookupStrategyTest.java
index 4827412..4f1a849 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/DisplayParameterLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/DisplayParameterLookupStrategyTest.java
@@ -25,6 +25,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.config.navigate.DisplayParameterLookupStrategy;
import net.shibboleth.sp.profile.InitiatorConstants;
import net.shibboleth.sp.profile.SPConstants;
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ForceAuthnParameterLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ForceAuthnParameterLookupStrategyTest.java
index 0588a5f..6b28231 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ForceAuthnParameterLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ForceAuthnParameterLookupStrategyTest.java
@@ -26,6 +26,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.config.navigate.ForceAuthnParameterLookupStrategy;
import net.shibboleth.sp.profile.InitiatorConstants;
import net.shibboleth.sp.profile.SPConstants;
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeFromAuthenticationRequestLookupFunctionTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeFromAuthenticationRequestLookupFunctionTest.java
index 7148fe1..e28f472 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeFromAuthenticationRequestLookupFunctionTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/MaxAgeFromAuthenticationRequestLookupFunctionTest.java
@@ -25,6 +25,7 @@ import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfigura
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.sp.context.StateDataContext;
import net.shibboleth.sp.oidc.profile.AuthenticationRequestStateData;
+import net.shibboleth.sp.oidc.profile.context.navigate.MaxAgeFromAuthenticationRequestLookupFunction;
/**
* Tests for {@link MaxAgeFromAuthenticationRequestLookupFunction}.
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRClaimsFromStateLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRClaimsFromStateLookupStrategyTest.java
index aabcfb9..c80732d 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRClaimsFromStateLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRClaimsFromStateLookupStrategyTest.java
@@ -27,6 +27,7 @@ import org.testng.annotations.Test;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.sp.context.StateDataContext;
import net.shibboleth.sp.oidc.profile.AuthenticationRequestStateData;
+import net.shibboleth.sp.oidc.profile.context.navigate.RequestedACRClaimsFromStateLookupStrategy;
import net.shibboleth.sp.profile.impl.BaseApplicationActionTest;
/**
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRValidationActivationConditionTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRValidationActivationConditionTest.java
index a2ba5aa..1e13927 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRValidationActivationConditionTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedACRValidationActivationConditionTest.java
@@ -23,6 +23,7 @@ import org.testng.annotations.Test;
import net.shibboleth.oidc.profile.config.impl.DefaultOIDCAuthorizationConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.sp.oidc.profile.config.logic.RequestedACRValidationActivationCondition;
import net.shibboleth.sp.profile.impl.BaseApplicationActionTest;
/**
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedClaimsLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedClaimsLookupStrategyTest.java
index 67738e5..ac21832 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedClaimsLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/RequestedClaimsLookupStrategyTest.java
@@ -30,6 +30,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
+import net.shibboleth.sp.oidc.profile.config.navigate.RequestedClaimsLookupStrategy;
import net.shibboleth.sp.profile.InitiatorConstants;
import net.shibboleth.sp.profile.SPConstants;
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ResourceLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ResourceLookupStrategyTest.java
index 50722b5..e8d4b73 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ResourceLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ResourceLookupStrategyTest.java
@@ -29,6 +29,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.config.navigate.ResourceLookupStrategy;
import net.shibboleth.sp.profile.InitiatorConstants;
import net.shibboleth.sp.profile.SPConstants;
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ScopeLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ScopeLookupStrategyTest.java
index 2922baf..5aca255 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ScopeLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/ScopeLookupStrategyTest.java
@@ -29,6 +29,7 @@ import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.config.navigate.ScopeLookupStrategy;
import net.shibboleth.sp.profile.InitiatorConstants;
import net.shibboleth.sp.profile.SPConstants;
diff --git a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/UiLocalesLookupStrategyTest.java b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/UiLocalesLookupStrategyTest.java
index 46c742e..7a0f4fa 100644
--- a/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/UiLocalesLookupStrategyTest.java
+++ b/sp-oidc-impl/src/test/java/net/shibboleth/sp/oidc/profile/impl/UiLocalesLookupStrategyTest.java
@@ -27,6 +27,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.sp.ddf.DDF;
import net.shibboleth.sp.messaging.RemotedHttpServletRequest;
import net.shibboleth.sp.oidc.profile.OIDCInitiatorConstants;
+import net.shibboleth.sp.oidc.profile.config.navigate.UiLocalesLookupStrategy;
import net.shibboleth.sp.profile.InitiatorConstants;
import net.shibboleth.sp.profile.SPConstants;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list