[java-oidc-common] branch main updated: JCOMOIDC-60 - JWT class naming convention
Phil Smart
philip.smart at jisc.ac.uk
Wed Jan 11 09:59:17 UTC 2023
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch main
in repository java-oidc-common.
View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=6df3c6c17f9795cfc875198f17fe78f47aec9e27
The following commit(s) were added to refs/heads/main by this push:
new 6df3c6c JCOMOIDC-60 - JWT class naming convention
6df3c6c is described below
commit 6df3c6c17f9795cfc875198f17fe78f47aec9e27
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Wed Jan 11 09:59:14 2023 +0000
JCOMOIDC-60 - JWT class naming convention
- Separate out the new JWT crypto config classes from the existing OIDC
security config classes used by the OP.
- Deprecate the old class.
https://shibboleth.atlassian.net/browse/JCOMOIDC-60
---
...uration.java => JSONSecurityConfiguration.java} | 100 +--------------------
.../profile/config/OIDCSecurityConfiguration.java | 98 +-------------------
.../JWEDataEncryptionAlgorithmsLookupFunction.java | 7 +-
...ransportEncryptionAlgorithmsLookupFunction.java | 7 +-
.../JWKCredentialsToPublishLookupStrategy.java | 6 +-
.../JWSSignatureAlgorithmsLookupFunction.java | 7 +-
.../JWTDecryptionConfigurationLookupFunction.java | 14 +--
.../JWTEncryptionConfigurationLookupFunction.java | 11 +--
...ignatureSigningConfigurationLookupFunction.java | 14 +--
...atureValidationConfigurationLookupFunction.java | 14 +--
.../impl/FormOutboundKeySetResponseMessage.java | 14 +--
.../FormOutboundKeySetResponseMessageTest.java | 35 ++++----
12 files changed, 72 insertions(+), 255 deletions(-)
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/JSONSecurityConfiguration.java
similarity index 55%
copy from oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
copy to oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/JSONSecurityConfiguration.java
index 261af95..52147df 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/JSONSecurityConfiguration.java
@@ -19,9 +19,6 @@ package net.shibboleth.oidc.profile.config;
import javax.annotation.Nullable;
-import org.opensaml.xmlsec.EncryptionConfiguration;
-import org.opensaml.xmlsec.SignatureSigningConfiguration;
-
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.oidc.security.JWTDecryptionConfiguration;
import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
@@ -32,22 +29,7 @@ import net.shibboleth.oidc.security.JWTSignatureValidationConfiguration;
* Class extends SecurityConfiguration to support separate configuration for various encryption and signature
* validation operations.
*/
-public class OIDCSecurityConfiguration extends SecurityConfiguration {
-
- /** Configuration used when decrypting request object information. */
- @Deprecated(since="2.2.0", forRemoval=true)
- @Nullable
- private EncryptionConfiguration requestObjectDecryptConfig;
-
- /** Configuration used when validating request object information. */
- @Deprecated(since="2.2.0", forRemoval=true)
- @Nullable
- private SignatureSigningConfiguration requestObjectSignatureValidationConfig;
-
- /** Configuration used when validating token endpoint authentication JWT signatures. */
- @Deprecated(since="2.2.0", forRemoval=true)
- @Nullable
- private SignatureSigningConfiguration tokenEndpointJwtSignatureValidationConfig;
+public class JSONSecurityConfiguration extends SecurityConfiguration {
/** Configuration used when decrypting JWE tokens. */
@Nullable
@@ -65,87 +47,7 @@ public class OIDCSecurityConfiguration extends SecurityConfiguration {
/** Configuration used when validating JWS signatures. */
@Nullable
private JWTSignatureValidationConfiguration jwtSignatureValidationConfig;
-
- //TODO These use the old style config support by the OP
-
- /**
- * Get the configuration used when decrypting request object information.
- *
- * @return configuration used when decrypting request object information, or null
- *
- * @deprecated
- */
- @Deprecated(since="2.2.0", forRemoval=true)
- @Nullable
- public EncryptionConfiguration getRequestObjectDecryptionConfiguration() {
- return requestObjectDecryptConfig;
- }
-
- /**
- * Set the configuration used when decrypting request object information.
- *
- * @param config configuration used when decrypting request object information, or null
- *
- * @deprecated
- */
- @Deprecated(since="2.2.0", forRemoval=true)
- public void setRequestObjectDecryptionConfiguration(@Nullable final EncryptionConfiguration config) {
- requestObjectDecryptConfig = config;
- }
-
- /**
- * Get the configuration used when validating request object information.
- *
- * @return configuration used when validating request object information, or null
- *
- * @deprecated
- */
- @Deprecated(since="2.2.0", forRemoval=true)
- @Nullable
- public SignatureSigningConfiguration getRequestObjectSignatureValidationConfiguration() {
- return requestObjectSignatureValidationConfig;
- }
-
- /**
- * Set the configuration used when validating request object information.
- *
- * @param config used when validating request object information, or null
- *
- * @deprecated
- */
- @Deprecated(since="2.2.0", forRemoval=true)
- public void setRequestObjectSignatureValidationConfiguration(@Nullable final SignatureSigningConfiguration config) {
- requestObjectSignatureValidationConfig = config;
- }
-
- /**
- * Get the configuration used when validating token endpoint authentication JWT signatures.
- *
- * @return configuration used when validating token endpoint authentication JWT signatures, or null
- *
- * @deprecated
- */
- @Deprecated(since="2.2.0", forRemoval=true)
- @Nullable
- public SignatureSigningConfiguration getTokenEndpointJwtSignatureValidationConfiguration() {
- return tokenEndpointJwtSignatureValidationConfig;
- }
- /**
- * Set the configuration used when validating token endpoint authentication JWT signatures.
- *
- * @param config used when validating token endpoint authentication JWT signatures, or null
- *
- * @deprecated
- */
- @Deprecated(since="2.2.0", forRemoval=true)
- public void setTokenEndpointJwtSignatureValidationConfiguration(
- @Nullable final SignatureSigningConfiguration config) {
- tokenEndpointJwtSignatureValidationConfig = config;
- }
-
- // --- END
-
/**
* Set the configuration used to decrypt JWE tokens.
*
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
index 261af95..c5eb41e 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/OIDCSecurityConfiguration.java
@@ -24,14 +24,14 @@ import org.opensaml.xmlsec.SignatureSigningConfiguration;
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.oidc.security.JWTDecryptionConfiguration;
-import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
-import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
-import net.shibboleth.oidc.security.JWTSignatureValidationConfiguration;
/**
* Class extends SecurityConfiguration to support separate configuration for various encryption and signature
* validation operations.
+ *
+ * @deprecated use {@link JSONSecurityConfiguration}
*/
+ at Deprecated(since="2.2.0", forRemoval=true)
public class OIDCSecurityConfiguration extends SecurityConfiguration {
/** Configuration used when decrypting request object information. */
@@ -53,21 +53,6 @@ public class OIDCSecurityConfiguration extends SecurityConfiguration {
@Nullable
private JWTDecryptionConfiguration jwtDecryptConfig;
- /** Configuration used when encrypting JWE tokens. */
- @Nullable
- private JWTEncryptionConfiguration jwtEncryptConfig;
-
- /** Configuration used when JWS tokens. */
- @Nullable
- private JWTSignatureSigningConfiguration jwtSignatureSigningConfig;
-
-
- /** Configuration used when validating JWS signatures. */
- @Nullable
- private JWTSignatureValidationConfiguration jwtSignatureValidationConfig;
-
- //TODO These use the old style config support by the OP
-
/**
* Get the configuration used when decrypting request object information.
*
@@ -144,82 +129,5 @@ public class OIDCSecurityConfiguration extends SecurityConfiguration {
tokenEndpointJwtSignatureValidationConfig = config;
}
- // --- END
-
- /**
- * Set the configuration used to decrypt JWE tokens.
- *
- * @param config configuration used when decrypting JWE tokens, or null
- */
- public void setJwtDecryptionConfiguration(@Nullable final JWTDecryptionConfiguration config) {
- jwtDecryptConfig = config;
- }
-
- /**
- * Get the configuration used when decrypting JWE tokens.
- *
- * @return configuration used when decrypting id_tokens, or null
- */
- @Nullable public JWTDecryptionConfiguration getJwtDecryptionConfiguration() {
- return jwtDecryptConfig;
- }
-
- /**
- * Set the configuration used to encrypt JWE tokens.
- *
- * @param config configuration used when encrypting JWE tokens, or null
- */
- public void setJwtEncryptionConfiguration(@Nullable final JWTEncryptionConfiguration config) {
- jwtEncryptConfig = config;
- }
-
- /**
- * Get the configuration used when encrypting JWE tokens.
- *
- * @return configuration used when encrypting JWE tokens, or null
- */
- public JWTEncryptionConfiguration getJwtEncryptionConfiguration() {
- return jwtEncryptConfig;
- }
-
- /**
- * Set the configuration used when signing JWS tokens.
- *
- * @param config used when signing JWS tokens, or null
- */
- public void setJwtSignatureSigningConfiguration(@Nullable final JWTSignatureSigningConfiguration config) {
- jwtSignatureSigningConfig = config;
- }
-
-
- /**
- * Get the configuration used when signing JWS tokens.
- *
- * @return configuration used when signing JWS tokens, or null
- */
- @Nullable
- public JWTSignatureSigningConfiguration getJwtSignatureSigningConfiguration() {
- return jwtSignatureSigningConfig;
- }
-
- /**
- * Set the configuration used when validating JWS tokens.
- *
- * @param config used when validating JWS tokens, or null
- */
- public void setJwtSignatureValidationConfiguration(@Nullable final JWTSignatureValidationConfiguration config) {
- jwtSignatureValidationConfig = config;
- }
-
-
- /**
- * Get the configuration used when validating JWS tokens.
- *
- * @return configuration used when validating JWS tokens, or null
- */
- @Nullable
- public JWTSignatureValidationConfiguration getJwtSignatureValidationConfiguration() {
- return jwtSignatureValidationConfig;
- }
}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEDataEncryptionAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEDataEncryptionAlgorithmsLookupFunction.java
index aa1f4f1..4a300e6 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEDataEncryptionAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEDataEncryptionAlgorithmsLookupFunction.java
@@ -28,7 +28,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
/**
@@ -45,15 +45,16 @@ import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
public class JWEDataEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
/** {@inheritDoc} */
+ @Override
@Nonnull
public List<String> apply(@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null && rpc.getProfileConfig() != null
&& rpc.getProfileConfig().getSecurityConfiguration(input) != null) {
final SecurityConfiguration secConfig = rpc.getProfileConfig().getSecurityConfiguration(input);
- if (secConfig instanceof OIDCSecurityConfiguration) {
+ if (secConfig instanceof JSONSecurityConfiguration) {
final JWTEncryptionConfiguration encryptionConfig =
- ((OIDCSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
+ ((JSONSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
if (encryptionConfig != null && encryptionConfig.getDataEncryptionAlgorithms() != null) {
return encryptionConfig.getDataEncryptionAlgorithms();
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEKeyTransportEncryptionAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEKeyTransportEncryptionAlgorithmsLookupFunction.java
index e04f069..06b1fd6 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEKeyTransportEncryptionAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWEKeyTransportEncryptionAlgorithmsLookupFunction.java
@@ -28,7 +28,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
/**
@@ -46,15 +46,16 @@ public class JWEKeyTransportEncryptionAlgorithmsLookupFunction
extends AbstractRelyingPartyLookupFunction<List<String>> {
/** {@inheritDoc} */
+ @Override
@Nonnull
public List<String> apply(@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null && rpc.getProfileConfig() != null
&& rpc.getProfileConfig().getSecurityConfiguration(input) != null) {
final SecurityConfiguration secConfig = rpc.getProfileConfig().getSecurityConfiguration(input);
- if (secConfig instanceof OIDCSecurityConfiguration) {
+ if (secConfig instanceof JSONSecurityConfiguration) {
final JWTEncryptionConfiguration encryptionConfig =
- ((OIDCSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
+ ((JSONSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
if (encryptionConfig != null && encryptionConfig.getKeyTransportEncryptionAlgorithms() != null) {
return encryptionConfig.getKeyTransportEncryptionAlgorithms();
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java
index a83a971..2a8f374 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWKCredentialsToPublishLookupStrategy.java
@@ -29,20 +29,20 @@ import org.opensaml.security.credential.Credential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
/**
* Strategy to locate the set of JWK credentials to publish in a KeySet document.
*/
-public class JWKCredentialsToPublishLookupStrategy implements Function<OIDCSecurityConfiguration, List<Credential>> {
+public class JWKCredentialsToPublishLookupStrategy implements Function<JSONSecurityConfiguration, List<Credential>> {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(JWKCredentialsToPublishLookupStrategy.class);
@Override
- @Nonnull public List<Credential> apply(@Nullable final OIDCSecurityConfiguration config) {
+ @Nonnull public List<Credential> apply(@Nullable final JSONSecurityConfiguration config) {
if (config == null) {
return Collections.emptyList();
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWSSignatureAlgorithmsLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWSSignatureAlgorithmsLookupFunction.java
index b1113e4..6f2ceba 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWSSignatureAlgorithmsLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWSSignatureAlgorithmsLookupFunction.java
@@ -28,7 +28,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
/**
@@ -45,15 +45,16 @@ import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
public class JWSSignatureAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
/** {@inheritDoc} */
+ @Override
@Nonnull
public List<String> apply(@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null && rpc.getProfileConfig() != null
&& rpc.getProfileConfig().getSecurityConfiguration(input) != null) {
final SecurityConfiguration secConfig = rpc.getProfileConfig().getSecurityConfiguration(input);
- if (secConfig instanceof OIDCSecurityConfiguration) {
+ if (secConfig instanceof JSONSecurityConfiguration) {
final JWTSignatureSigningConfiguration sigConfig =
- ((OIDCSecurityConfiguration) secConfig).getJwtSignatureSigningConfiguration();
+ ((JSONSecurityConfiguration) secConfig).getJwtSignatureSigningConfiguration();
if (sigConfig != null && sigConfig.getSignatureAlgorithms() != null) {
return sigConfig.getSignatureAlgorithms();
}
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTDecryptionConfigurationLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTDecryptionConfigurationLookupFunction.java
index 7a1c9d3..5bcfe26 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTDecryptionConfigurationLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTDecryptionConfigurationLookupFunction.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.JWTDecryptionConfiguration;
/**
@@ -70,11 +70,11 @@ public class JWTDecryptionConfigurationLookupFunction
final ProfileConfiguration pc = rpc.getProfileConfig();
if (pc != null &&
pc.getSecurityConfiguration(input)
- instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) pc.getSecurityConfiguration(
+ instanceof JSONSecurityConfiguration
+ && ((JSONSecurityConfiguration) pc.getSecurityConfiguration(
input))
.getJwtDecryptionConfiguration() != null) {
- configs.add(((OIDCSecurityConfiguration) pc.getSecurityConfiguration(
+ configs.add(((JSONSecurityConfiguration) pc.getSecurityConfiguration(
input))
.getJwtDecryptionConfiguration());
}
@@ -85,11 +85,11 @@ public class JWTDecryptionConfigurationLookupFunction
final SecurityConfiguration defaultConfig =
rpResolver.getDefaultSecurityConfiguration(
input.getProfileId());
- if (defaultConfig instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) defaultConfig)
+ if (defaultConfig instanceof JSONSecurityConfiguration
+ && ((JSONSecurityConfiguration) defaultConfig)
.getJwtDecryptionConfiguration() != null) {
configs.add(
- ((OIDCSecurityConfiguration) defaultConfig).getJwtDecryptionConfiguration());
+ ((JSONSecurityConfiguration) defaultConfig).getJwtDecryptionConfiguration());
}
}
// TODO: Support for Global Default configuration?
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTEncryptionConfigurationLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTEncryptionConfigurationLookupFunction.java
index b363394..f4188ff 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTEncryptionConfigurationLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTEncryptionConfigurationLookupFunction.java
@@ -29,6 +29,7 @@ import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
import net.shibboleth.oidc.security.JWTEncryptionConfiguration;
@@ -69,9 +70,9 @@ public class JWTEncryptionConfigurationLookupFunction
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
if (pc != null && pc.getSecurityConfiguration(input) instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) pc.getSecurityConfiguration(input))
+ && ((JSONSecurityConfiguration) pc.getSecurityConfiguration(input))
.getJwtEncryptionConfiguration() != null) {
- configs.add(((OIDCSecurityConfiguration) pc.getSecurityConfiguration(input))
+ configs.add(((JSONSecurityConfiguration) pc.getSecurityConfiguration(input))
.getJwtEncryptionConfiguration());
}
}
@@ -80,11 +81,11 @@ public class JWTEncryptionConfigurationLookupFunction
if (input != null && rpResolver != null) {
final SecurityConfiguration defaultConfig =
rpResolver.getDefaultSecurityConfiguration(input.getProfileId());
- if (defaultConfig instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) defaultConfig)
+ if (defaultConfig instanceof JSONSecurityConfiguration
+ && ((JSONSecurityConfiguration) defaultConfig)
.getJwtEncryptionConfiguration() != null) {
configs.add(
- ((OIDCSecurityConfiguration) defaultConfig).getJwtEncryptionConfiguration());
+ ((JSONSecurityConfiguration) defaultConfig).getJwtEncryptionConfiguration());
}
}
// TODO: Support for Global Default configuration?
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureSigningConfigurationLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureSigningConfigurationLookupFunction.java
index ed3a796..43d697f 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureSigningConfigurationLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureSigningConfigurationLookupFunction.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.JWTSignatureSigningConfiguration;
/**
@@ -68,10 +68,10 @@ public class JWTSignatureSigningConfigurationLookupFunction
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null && pc.getSecurityConfiguration(input) instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) pc.getSecurityConfiguration(input))
+ if (pc != null && pc.getSecurityConfiguration(input) instanceof JSONSecurityConfiguration
+ && ((JSONSecurityConfiguration) pc.getSecurityConfiguration(input))
.getJwtSignatureSigningConfiguration() != null) {
- configs.add(((OIDCSecurityConfiguration) pc.getSecurityConfiguration(input))
+ configs.add(((JSONSecurityConfiguration) pc.getSecurityConfiguration(input))
.getJwtSignatureSigningConfiguration());
}
}
@@ -80,11 +80,11 @@ public class JWTSignatureSigningConfigurationLookupFunction
if (input != null && rpResolver != null) {
final SecurityConfiguration defaultConfig =
rpResolver.getDefaultSecurityConfiguration(input.getProfileId());
- if (defaultConfig instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) defaultConfig)
+ if (defaultConfig instanceof JSONSecurityConfiguration
+ && ((JSONSecurityConfiguration) defaultConfig)
.getJwtSignatureSigningConfiguration() != null) {
configs.add(
- ((OIDCSecurityConfiguration) defaultConfig).getJwtSignatureSigningConfiguration());
+ ((JSONSecurityConfiguration) defaultConfig).getJwtSignatureSigningConfiguration());
}
}
// TODO: Support for Global Default configuration?
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureValidationConfigurationLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureValidationConfigurationLookupFunction.java
index 36409d0..ab12beb 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureValidationConfigurationLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/JWTSignatureValidationConfigurationLookupFunction.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.JWTSignatureValidationConfiguration;
/**
@@ -70,11 +70,11 @@ public class JWTSignatureValidationConfigurationLookupFunction
final ProfileConfiguration pc = rpc.getProfileConfig();
if (pc != null &&
pc.getSecurityConfiguration(input)
- instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) pc.getSecurityConfiguration(
+ instanceof JSONSecurityConfiguration
+ && ((JSONSecurityConfiguration) pc.getSecurityConfiguration(
input))
.getJwtSignatureValidationConfiguration() != null) {
- configs.add(((OIDCSecurityConfiguration) pc.getSecurityConfiguration(
+ configs.add(((JSONSecurityConfiguration) pc.getSecurityConfiguration(
input))
.getJwtSignatureValidationConfiguration());
}
@@ -85,11 +85,11 @@ public class JWTSignatureValidationConfigurationLookupFunction
final SecurityConfiguration defaultConfig =
rpResolver.getDefaultSecurityConfiguration(
input.getProfileId());
- if (defaultConfig instanceof OIDCSecurityConfiguration
- && ((OIDCSecurityConfiguration) defaultConfig)
+ if (defaultConfig instanceof JSONSecurityConfiguration
+ && ((JSONSecurityConfiguration) defaultConfig)
.getJwtSignatureValidationConfiguration() != null) {
configs.add(
- ((OIDCSecurityConfiguration) defaultConfig).getJwtSignatureValidationConfiguration());
+ ((JSONSecurityConfiguration) defaultConfig).getJwtSignatureValidationConfiguration());
}
}
// TODO: Support for Global Default configuration?
diff --git a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java
index ceefb45..12a2fac 100644
--- a/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java
+++ b/oidc-common-profile-impl/src/main/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessage.java
@@ -41,7 +41,7 @@ import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.config.SecurityConfiguration;
import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.profile.messaging.JSONSuccessResponse;
import net.shibboleth.oidc.security.impl.CredentialConversionUtil;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
@@ -50,6 +50,8 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
/**
* Action that forms outbound message containing keyset. Keys of the keyset are located from security configuration
* via a lookup strategy. The built response is set on to the {@link ProfileRequestContext#getOutboundMessageContext()}.
+ *
+ * @since 2.2.0
*/
public class FormOutboundKeySetResponseMessage extends AbstractProfileAction {
@@ -64,10 +66,10 @@ public class FormOutboundKeySetResponseMessage extends AbstractProfileAction {
/**
* Strategy used to locate the list of credentials to publish.
*/
- @Nonnull private Function<OIDCSecurityConfiguration, List<Credential>> credentialsToPublishLookupStrategy;
+ @Nonnull private Function<JSONSecurityConfiguration, List<Credential>> credentialsToPublishLookupStrategy;
/** Security configuration we look for keys to publish. */
- @Nullable private OIDCSecurityConfiguration secConfiguration;
+ @Nullable private JSONSecurityConfiguration secConfiguration;
/** Constructor. */
public FormOutboundKeySetResponseMessage() {
@@ -96,7 +98,7 @@ public class FormOutboundKeySetResponseMessage extends AbstractProfileAction {
* @param strategy the strategy.
*/
public void setCredentialsToPublishLookupStrategy(
- @Nonnull final Function<OIDCSecurityConfiguration, List<Credential>> strategy) {
+ @Nonnull final Function<JSONSecurityConfiguration, List<Credential>> strategy) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
ComponentSupport.ifDestroyedThrowDestroyedComponentException(this);
@@ -127,14 +129,14 @@ public class FormOutboundKeySetResponseMessage extends AbstractProfileAction {
final SecurityConfiguration securityConfig =
rpCtx.getProfileConfig().getSecurityConfiguration(profileRequestContext);
- if (!(securityConfig instanceof OIDCSecurityConfiguration)) {
+ if (!(securityConfig instanceof JSONSecurityConfiguration)) {
log.debug("{} No security configuration associated with the profile configuration of the profile request",
getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, EventIds.INVALID_SEC_CFG);
return false;
}
- secConfiguration = (OIDCSecurityConfiguration) securityConfig;
+ secConfiguration = (JSONSecurityConfiguration) securityConfig;
return true;
}
diff --git a/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java b/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
index 31569ed..f8ebb33 100644
--- a/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
+++ b/oidc-common-profile-impl/src/test/java/net/shibboleth/oidc/profile/impl/FormOutboundKeySetResponseMessageTest.java
@@ -21,6 +21,21 @@ import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
+import org.mockito.Mockito;
+import org.opensaml.messaging.context.MessageContext;
+import org.opensaml.profile.action.EventIds;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.security.credential.Credential;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.webflow.execution.Event;
+import org.springframework.webflow.execution.RequestContext;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.nimbusds.jose.JOSEException;
+import com.nimbusds.oauth2.sdk.ParseException;
+
import net.minidev.json.JSONArray;
import net.minidev.json.JSONObject;
import net.shibboleth.idp.profile.IdPEventIds;
@@ -28,8 +43,8 @@ import net.shibboleth.idp.profile.context.RelyingPartyContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
+import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.profile.config.OIDCPublishKeySetConfiguration;
-import net.shibboleth.oidc.profile.config.OIDCSecurityConfiguration;
import net.shibboleth.oidc.profile.config.navigate.JWKCredentialsToPublishLookupStrategy;
import net.shibboleth.oidc.profile.messaging.JSONSuccessResponse;
import net.shibboleth.oidc.security.JWTDecryptionConfiguration;
@@ -38,20 +53,6 @@ import net.shibboleth.oidc.security.credential.impl.ReturnAllCollectionJOSEObjec
import net.shibboleth.oidc.security.impl.BasicJWKCredentialFactoryBean;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import org.mockito.Mockito;
-import org.opensaml.messaging.context.MessageContext;
-import org.opensaml.profile.action.EventIds;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.security.credential.Credential;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.webflow.execution.Event;
-import org.springframework.webflow.execution.RequestContext;
-import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-import com.nimbusds.jose.JOSEException;
-import com.nimbusds.oauth2.sdk.ParseException;
-
/** {@link FormOutboundKeySetResponseMessage} unit test. */
public class FormOutboundKeySetResponseMessageTest {
@@ -73,7 +74,7 @@ public class FormOutboundKeySetResponseMessageTest {
profileRequestCtx.setOutboundMessageContext(msgCtx);
rpCtx = profileRequestCtx.getSubcontext(RelyingPartyContext.class, true);
- final List<Credential> signCreds = new ArrayList<Credential>();
+ final List<Credential> signCreds = new ArrayList<>();
BasicJWKCredentialFactoryBean factory = new BasicJWKCredentialFactoryBean();
factory.setResource(new ClassPathResource("credentials/idp-signing-es.jwk"));
factory.afterPropertiesSet();
@@ -95,7 +96,7 @@ public class FormOutboundKeySetResponseMessageTest {
final JWTDecryptionConfiguration decConfig = Mockito.mock(JWTDecryptionConfiguration.class);
final ReturnAllCollectionJOSEObjectCredentialResolver resolver = new ReturnAllCollectionJOSEObjectCredentialResolver(encCreds);
Mockito.when(decConfig.getKEKCredentialResolver()).thenReturn(resolver);
- final OIDCSecurityConfiguration secConf = new OIDCSecurityConfiguration();
+ final JSONSecurityConfiguration secConf = new JSONSecurityConfiguration();
secConf.setJwtSignatureSigningConfiguration(signConfig);
secConf.setJwtDecryptionConfiguration(decConfig);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list