[java-oidc-common] branch main updated: Null cleanup of profile-api.
Scott Cantor
cantor.2 at osu.edu
Wed Nov 8 19:27:19 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor 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=77bed0f635a66108e08f7c6448c94390b0f1155b
The following commit(s) were added to refs/heads/main by this push:
new 77bed0f Null cleanup of profile-api.
77bed0f is described below
commit 77bed0f635a66108e08f7c6448c94390b0f1155b
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Nov 8 14:27:16 2023 -0500
Null cleanup of profile-api.
---
...thenticationContextClassReferencePrincipal.java | 4 +--
.../shibboleth/oidc/profile/audit/AuditFields.java | 2 +-
.../profile/config/CredentialsListFactory.java | 21 ++++++++--------
.../AttributeConsentFlowEnabledPredicate.java | 8 ++++--
...ClientInformationStringValueLookupFunction.java | 3 +--
.../JWEDataEncryptionAlgorithmsLookupFunction.java | 28 ++++++++++-----------
...ransportEncryptionAlgorithmsLookupFunction.java | 23 +++++++++--------
.../JWKCredentialsToPublishLookupStrategy.java | 29 ++++++++++++++--------
.../JWSSignatureAlgorithmsLookupFunction.java | 23 +++++++++--------
...ProviderMetadataStringValuesLookupFunction.java | 19 +++++++-------
...nticationContextClassRequestLookupFunction.java | 17 ++++++-------
...ticationContextClassResponseLookupFunction.java | 20 +++++++--------
...edRegistrationMetadataPolicyLookupFunction.java | 13 +++++-----
.../navigate/RevocationLifetimeLookupFunction.java | 19 +++++++++-----
...AuthenticationContextClassReferenceSupport.java | 19 +++++++-------
...ticationContextClassReferencePrincipalTest.java | 1 +
...iderMetadataStringValuesLookupFunctionTest.java | 10 +++++---
...thenticationContextClassLookupFunctionTest.java | 7 +++---
...tionContextClassResponseLookupFunctionTest.java | 24 +++++++++++-------
19 files changed, 160 insertions(+), 130 deletions(-)
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipal.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipal.java
index 1d41656..1594339 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipal.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipal.java
@@ -47,7 +47,6 @@ public final class AuthenticationContextClassReferencePrincipal implements Clone
}
/** {@inheritDoc} */
- @Override
@Nonnull
@NotEmpty
public String getName() {
@@ -86,8 +85,7 @@ public final class AuthenticationContextClassReferencePrincipal implements Clone
}
/** {@inheritDoc} */
- @Override
- public AuthenticationContextClassReferencePrincipal clone() throws CloneNotSupportedException {
+ @Nonnull public AuthenticationContextClassReferencePrincipal clone() throws CloneNotSupportedException {
final AuthenticationContextClassReferencePrincipal copy =
(AuthenticationContextClassReferencePrincipal) super.clone();
copy.authnContextClassReference = authnContextClassReference;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/audit/AuditFields.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/audit/AuditFields.java
index db22d4c..7726f17 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/audit/AuditFields.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/audit/AuditFields.java
@@ -27,7 +27,7 @@ import net.shibboleth.shared.annotation.constraint.NotEmpty;
* @since 2.2.0
*/
public final class AuditFields {
-
+
/** OIDC client ID. */
@Nonnull @NotEmpty public static final String CLIENT_ID = SAMLAuditFields.SERVICE_PROVIDER;
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/CredentialsListFactory.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/CredentialsListFactory.java
index b5d3cff..10258ca 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/CredentialsListFactory.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/CredentialsListFactory.java
@@ -14,7 +14,6 @@
package net.shibboleth.oidc.profile.config;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -23,6 +22,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.oidc.security.jose.SignatureSigningConfiguration;
+import net.shibboleth.shared.annotation.constraint.NullableElements;
+import net.shibboleth.shared.collection.CollectionSupport;
import org.opensaml.security.credential.Credential;
import org.springframework.beans.factory.config.AbstractFactoryBean;
@@ -38,31 +39,31 @@ import org.springframework.beans.factory.config.AbstractFactoryBean;
public class CredentialsListFactory extends AbstractFactoryBean<List<Credential>> {
/** The credentials which may contain {@literal null} elements. */
- @Nonnull private List<Credential> credentials;
+ @Nonnull @NullableElements private List<Credential> credentials;
/**
* Constructor.
*
* @param creds the credentials, which can be {@literal null} and may contain {@literal null} elements.
*/
- public CredentialsListFactory(@Nullable final List<Credential> creds){
+ public CredentialsListFactory(@Nullable @NullableElements final List<Credential> creds){
if (creds == null) {
- credentials = Collections.emptyList();
+ credentials = CollectionSupport.emptyList();
} else {
credentials = creds;
}
}
/** {@inheritDoc} */
- @Override
- public Class<?> getObjectType() {
+ @Nonnull public Class<?> getObjectType() {
return List.class;
}
/** {@inheritDoc} */
- @Override
- protected List<Credential> createInstance() throws Exception {
- return credentials.stream().filter(Objects::nonNull).collect(Collectors.toList());
+ @Nonnull protected List<Credential> createInstance() throws Exception {
+ return credentials.stream()
+ .filter(Objects::nonNull)
+ .collect(CollectionSupport.nonnullCollector(Collectors.toList())).get();
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AttributeConsentFlowEnabledPredicate.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AttributeConsentFlowEnabledPredicate.java
index 9025530..5b03a20 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AttributeConsentFlowEnabledPredicate.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/logic/AttributeConsentFlowEnabledPredicate.java
@@ -14,6 +14,8 @@
package net.shibboleth.oidc.profile.config.logic;
+import java.util.Collection;
+
import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -30,6 +32,8 @@ public class AttributeConsentFlowEnabledPredicate extends AbstractRelyingPartyPr
/** {@inheritDoc} */
public boolean test(@Nullable final ProfileRequestContext input) {
final PostAuthenticationFlowsLookupFunction postAuthnFlowsLookup = new PostAuthenticationFlowsLookupFunction();
- return postAuthnFlowsLookup.apply(input).contains("attribute-release");
+ final Collection<String> flows = postAuthnFlowsLookup.apply(input);
+ return flows != null && flows.contains("attribute-release");
}
-}
+
+}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClientInformationStringValueLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClientInformationStringValueLookupFunction.java
index 09ea0f8..bf53aee 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClientInformationStringValueLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ClientInformationStringValueLookupFunction.java
@@ -20,12 +20,12 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.openid.connect.sdk.rp.OIDCClientInformation;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Fetches the value for the configured key as {@link String}. May be {@code null} if the value is not found or the
@@ -49,7 +49,6 @@ public class ClientInformationStringValueLookupFunction implements Function<OIDC
}
/** {@inheritDoc} */
- @Override
@Nullable public String apply(@Nullable final OIDCClientInformation information) {
if (information == null || information.getOIDCMetadata() == null) {
log.trace("No client information/metadata available");
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 869c0cb..f674568 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
@@ -14,17 +14,17 @@
package net.shibboleth.oidc.profile.config.navigate;
-import java.util.Collections;
import java.util.List;
-import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
+import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
@@ -42,21 +42,21 @@ import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
public class JWEDataEncryptionAlgorithmsLookupFunction extends AbstractRelyingPartyLookupFunction<List<String>> {
/** {@inheritDoc} */
- @Override
- @Nonnull
- public List<String> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable 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 JSONSecurityConfiguration) {
- final EncryptionConfiguration encryptionConfig =
- ((JSONSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
- if (encryptionConfig != null && encryptionConfig.getDataEncryptionAlgorithms() != null) {
- return encryptionConfig.getDataEncryptionAlgorithms();
+ if (rpc != null) {
+ final ProfileConfiguration pc = rpc.getProfileConfig();
+ if (pc != null) {
+ final SecurityConfiguration secConfig = pc.getSecurityConfiguration(input);
+ if (secConfig instanceof JSONSecurityConfiguration jsc) {
+ final EncryptionConfiguration encryptionConfig = jsc.getJwtEncryptionConfiguration();
+ if (encryptionConfig != null && encryptionConfig.getDataEncryptionAlgorithms() != null) {
+ return encryptionConfig.getDataEncryptionAlgorithms();
+ }
}
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
+
}
\ No newline at end of file
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 568b547..0483036 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
@@ -14,7 +14,6 @@
package net.shibboleth.oidc.profile.config.navigate;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -23,8 +22,10 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
+import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.jose.EncryptionConfiguration;
@@ -47,17 +48,19 @@ public class JWEKeyTransportEncryptionAlgorithmsLookupFunction
@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 JSONSecurityConfiguration) {
- final EncryptionConfiguration encryptionConfig =
- ((JSONSecurityConfiguration) secConfig).getJwtEncryptionConfiguration();
- if (encryptionConfig != null && encryptionConfig.getKeyTransportEncryptionAlgorithms() != null) {
- return encryptionConfig.getKeyTransportEncryptionAlgorithms();
+ if (rpc != null) {
+ final ProfileConfiguration pc = rpc.getProfileConfig();
+ if (pc != null) {
+ final SecurityConfiguration secConfig = pc.getSecurityConfiguration(input);
+ if (secConfig instanceof JSONSecurityConfiguration jsc) {
+ final EncryptionConfiguration encryptionConfig = jsc.getJwtEncryptionConfiguration();
+ if (encryptionConfig != null && encryptionConfig.getKeyTransportEncryptionAlgorithms() != null) {
+ return encryptionConfig.getKeyTransportEncryptionAlgorithms();
+ }
}
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
+
}
\ No newline at end of file
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 0d95677..11e036d 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
@@ -24,9 +24,12 @@ import javax.annotation.Nullable;
import org.opensaml.security.credential.Credential;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
+import net.shibboleth.oidc.security.credential.JOSEObjectCredentialResolver;
+import net.shibboleth.oidc.security.jose.DecryptionConfiguration;
+import net.shibboleth.oidc.security.jose.SignatureSigningConfiguration;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
@@ -40,22 +43,28 @@ public class JWKCredentialsToPublishLookupStrategy implements Function<JSONSecur
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(JWKCredentialsToPublishLookupStrategy.class);
- @Override
- @Nonnull public List<Credential> apply(@Nullable final JSONSecurityConfiguration config) {
+ /** {@inheritDoc} */
+ @Nullable public List<Credential> apply(@Nullable final JSONSecurityConfiguration config) {
if (config == null) {
return Collections.emptyList();
}
+
final List<Credential> credentials = new ArrayList<>();
- if (config.getJwtSignatureSigningConfiguration() != null) {
- credentials.addAll(config.getJwtSignatureSigningConfiguration().getSigningCredentials());
+ final SignatureSigningConfiguration signingConfig = config.getJwtSignatureSigningConfiguration();
+ if (signingConfig != null) {
+ credentials.addAll(signingConfig.getSigningCredentials());
}
- if (config.getJwtDecryptionConfiguration() != null) {
+
+ final DecryptionConfiguration decryptConfig = config.getJwtDecryptionConfiguration();
+ if (decryptConfig != null) {
try {
- final Iterable<Credential> resolvedCreds =
- config.getJwtDecryptionConfiguration().getKEKCredentialResolver().resolve(new CriteriaSet());
- resolvedCreds.forEach(credentials::add);
+ final JOSEObjectCredentialResolver resolver = decryptConfig.getKEKCredentialResolver();
+ if (resolver != null) {
+ final Iterable<Credential> resolvedCreds = resolver.resolve(new CriteriaSet());
+ resolvedCreds.forEach(credentials::add);
+ }
} catch (final ResolverException e) {
log.debug("Unable to resolve decryption credentials", e);
}
@@ -64,4 +73,4 @@ public class JWKCredentialsToPublishLookupStrategy implements Function<JSONSecur
return credentials;
}
-}
+}
\ No newline at end of file
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 c6bc63a..f4822db 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
@@ -14,7 +14,6 @@
package net.shibboleth.oidc.profile.config.navigate;
-import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
@@ -23,8 +22,10 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.security.config.SecurityConfiguration;
+import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.oidc.profile.config.JSONSecurityConfiguration;
import net.shibboleth.oidc.security.jose.SignatureSigningConfiguration;
@@ -46,17 +47,19 @@ public class JWSSignatureAlgorithmsLookupFunction extends AbstractRelyingPartyLo
@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 JSONSecurityConfiguration) {
- final SignatureSigningConfiguration sigConfig =
- ((JSONSecurityConfiguration) secConfig).getJwtSignatureSigningConfiguration();
- if (sigConfig != null && sigConfig.getSignatureAlgorithms() != null) {
- return sigConfig.getSignatureAlgorithms();
+ if (rpc != null) {
+ final ProfileConfiguration pc = rpc.getProfileConfig();
+ if (pc != null) {
+ final SecurityConfiguration secConfig = pc.getSecurityConfiguration(input);
+ if (secConfig instanceof JSONSecurityConfiguration jsc) {
+ final SignatureSigningConfiguration sigConfig = jsc.getJwtSignatureSigningConfiguration();
+ if (sigConfig != null && sigConfig.getSignatureAlgorithms() != null) {
+ return sigConfig.getSignatureAlgorithms();
+ }
}
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
+
}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java
index aeb7b8e..ee81408 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunction.java
@@ -14,7 +14,6 @@
package net.shibboleth.oidc.profile.config.navigate;
-import java.util.Collections;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -23,12 +22,13 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata;
import net.shibboleth.shared.annotation.ParameterName;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Fetches the values for the configured key as {@link String}. May return an empty list
@@ -52,27 +52,26 @@ public class ProviderMetadataStringValuesLookupFunction implements Function<OIDC
}
/** {@inheritDoc} */
- @Override
- @Nonnull public List<String> apply(@Nullable final OIDCProviderMetadata metadata) {
+ @Nullable public List<String> apply(@Nullable final OIDCProviderMetadata metadata) {
if (metadata == null) {
log.trace("No provider metadata available");
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
final Object value = metadata.toJSONObject().get(keyName);
if (value == null) {
log.trace("No metadata value found for the key {}", keyName);
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
- if (value instanceof String) {
- return List.of(String.valueOf(value));
+ if (value instanceof String s) {
+ return CollectionSupport.singletonList(s);
} else if (value instanceof List) {
final List<?> valueList = (List<?>)value;
return valueList.stream().map(Object::toString).collect(Collectors.toList());
}
log.trace("Metadata provided an unknown type for key '{}'", keyName);
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunction.java
index 9bedcec..0045cee 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunction.java
@@ -16,7 +16,6 @@ package net.shibboleth.oidc.profile.config.navigate;
import java.security.Principal;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -31,6 +30,7 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
import net.shibboleth.oidc.authn.principal.AuthenticationContextClassReferencePrincipal;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Implements a set of default logic for determining the custom principals to derive the
@@ -49,7 +49,7 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunctio
/** Constructor. */
public ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunction() {
- principalMappings = Collections.emptyMap();
+ principalMappings = CollectionSupport.emptyMap();
}
/**
@@ -61,7 +61,7 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunctio
*/
public void setMappings(@Nullable @NonnullElements final Map<Principal,Collection<Principal>> mappings) {
if (mappings == null || mappings.isEmpty()) {
- principalMappings = Collections.emptyMap();
+ principalMappings = CollectionSupport.emptyMap();
return;
}
@@ -72,10 +72,9 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunctio
@Override
public Collection<AuthenticationContextClassReferencePrincipal> apply(final ProfileRequestContext input) {
- if (input != null && input.getParent() instanceof AuthenticationContext) {
-
- final RequestedPrincipalContext rpc = input.getParent().getSubcontext(RequestedPrincipalContext.class);
+ if (input != null && input.getParent() instanceof AuthenticationContext ac) {
+ final RequestedPrincipalContext rpc = ac.getSubcontext(RequestedPrincipalContext.class);
if (rpc != null) {
final List<AuthenticationContextClassReferencePrincipal> mappedAndPassedThroughPrincipals =
@@ -103,9 +102,7 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunctio
return mappedAndPassedThroughPrincipals;
}
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
-
-}
-
+}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java
index de089d3..32db5f4 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction.java
@@ -16,7 +16,6 @@ package net.shibboleth.oidc.profile.config.navigate;
import java.security.Principal;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -30,6 +29,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
/**
@@ -59,15 +59,15 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
final Map<String,Collection<Principal>> mappings) {
if (mappings == null || mappings.isEmpty()) {
- principalMappings = Collections.emptyMap();
+ principalMappings = CollectionSupport.emptyMap();
} else {
principalMappings = new HashMap<>(mappings.size());
mappings.forEach((k, v) -> principalMappings.put(k, List.copyOf(v)));
}
}
-
- @Override
- public Collection<Principal> apply(final Collection<String> amrOrAcrs) {
+
+ /** {@inheritDoc} */
+ @Nullable public Collection<Principal> apply(final Collection<String> amrOrAcrs) {
if (amrOrAcrs != null) {
final List<Principal> principals = new ArrayList<>();
@@ -81,7 +81,7 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
}
return principals;
}
- return Collections.emptyList();
+ return CollectionSupport.emptyList();
}
/** A simple lookup function that returns a singleton function.*/
@@ -102,11 +102,11 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
function = Constraint.isNotNull(wrappedFunction, "Lookup function can not be null");
}
- @Override
- @Nonnull public Function<Collection<String>, Collection<Principal>> apply(final ProfileRequestContext prc) {
+ /** {@inheritDoc} */
+ @Nullable public Function<Collection<String>, Collection<Principal>> apply(
+ @Nullable final ProfileRequestContext prc) {
return function;
}
-
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ResolverBasedRegistrationMetadataPolicyLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ResolverBasedRegistrationMetadataPolicyLookupFunction.java
index 8bd26e8..b08bbc4 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ResolverBasedRegistrationMetadataPolicyLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/ResolverBasedRegistrationMetadataPolicyLookupFunction.java
@@ -22,11 +22,11 @@ import javax.annotation.Nullable;
import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import net.shibboleth.oidc.metadata.policy.MetadataPolicy;
import net.shibboleth.oidc.metadata.policy.MetadataPolicyResolver;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
@@ -39,8 +39,8 @@ public class ResolverBasedRegistrationMetadataPolicyLookupFunction
extends AbstractRelyingPartyLookupFunction<Map<String,MetadataPolicy>> {
/** Class logger. */
- @Nonnull
- private final Logger log = LoggerFactory.getLogger(ResolverBasedRegistrationMetadataPolicyLookupFunction.class);
+ @Nonnull private final Logger log =
+ LoggerFactory.getLogger(ResolverBasedRegistrationMetadataPolicyLookupFunction.class);
/** The metadata policy resolver. */
@Nullable private MetadataPolicyResolver metadataPolicyResolver;
@@ -67,15 +67,16 @@ public class ResolverBasedRegistrationMetadataPolicyLookupFunction
}
/** {@inheritDoc} */
- @Override @Nullable public Map<String, MetadataPolicy> apply(@Nullable final ProfileRequestContext input) {
+ @Nullable public Map<String, MetadataPolicy> apply(@Nullable final ProfileRequestContext input) {
if (metadataPolicyResolver == null) {
log.debug("No metadata policy resolver configured, returning null");
return null;
}
final CriteriaSet criteriaSet =
- criteriaSetLookupStrategy == null ? null : criteriaSetLookupStrategy.apply(input);
+ criteriaSetLookupStrategy != null ? criteriaSetLookupStrategy.apply(input) : null;
log.debug("Starting to resolve single metadata policy");
try {
+ assert metadataPolicyResolver != null;
return metadataPolicyResolver.resolveSingle(criteriaSet == null ? new CriteriaSet() : criteriaSet);
} catch (final ResolverException e) {
log.error("Resolver exception catched while resolving metadata policy", e);
@@ -83,4 +84,4 @@ public class ResolverBasedRegistrationMetadataPolicyLookupFunction
return null;
}
-}
+}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java
index e7e5a87..3d29916 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/config/navigate/RevocationLifetimeLookupFunction.java
@@ -23,6 +23,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.oidc.profile.oauth2.config.OAuth2TokenRevocationConfiguration;
/**
@@ -50,17 +51,23 @@ public class RevocationLifetimeLookupFunction extends AbstractRelyingPartyLookup
}
/** {@inheritDoc} */
- @Override
@Nullable public Duration apply(@Nullable final ProfileRequestContext input) {
final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
if (rpc != null) {
- final ProfileConfiguration pc = activeProfileOnly ? rpc.getProfileConfig() :
- rpc.getConfiguration()
- .getProfileConfiguration(input, OAuth2TokenRevocationConfiguration.PROFILE_ID);
- if (pc instanceof OAuth2TokenRevocationConfiguration) {
- return ((OAuth2TokenRevocationConfiguration) pc).getRevocationLifetime(input);
+ final ProfileConfiguration pc;
+ if (activeProfileOnly) {
+ pc = rpc.getProfileConfig();
+ } else {
+ final RelyingPartyConfiguration rpConfig = rpc.getConfiguration();
+ pc = rpConfig != null
+ ? rpConfig.getProfileConfiguration(input, OAuth2TokenRevocationConfiguration.PROFILE_ID) : null;
+ }
+
+ if (pc instanceof OAuth2TokenRevocationConfiguration rev) {
+ return rev.getRevocationLifetime(input);
}
}
return null;
}
+
}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/AuthenticationContextClassReferenceSupport.java b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/AuthenticationContextClassReferenceSupport.java
index 84ef3c1..cf6bd5d 100644
--- a/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/AuthenticationContextClassReferenceSupport.java
+++ b/oidc-common-profile-api/src/main/java/net/shibboleth/oidc/profile/encoding/AuthenticationContextClassReferenceSupport.java
@@ -57,11 +57,11 @@ public final class AuthenticationContextClassReferenceSupport {
new ClaimsSetRequest.Entry("acr")
.withValues(acrs).withClaimRequirement(ClaimRequirement.ESSENTIAL);
- if (authnRequest.getRequestedClaims() != null
- && authnRequest.getRequestedClaims().getIDTokenClaimsRequest() != null) {
+ final OIDCClaimsRequest requestedClaims = authnRequest.getRequestedClaims();
+ if (requestedClaims != null
+ && requestedClaims.getIDTokenClaimsRequest() != null) {
// Requested claims may already exist, if so add.
- final ClaimsSetRequest requestedIdTokenClaims =
- authnRequest.getRequestedClaims().getIDTokenClaimsRequest();
+ final ClaimsSetRequest requestedIdTokenClaims = requestedClaims.getIDTokenClaimsRequest();
if (requestedIdTokenClaims.get("acr")
!= null) {
@@ -100,13 +100,11 @@ public final class AuthenticationContextClassReferenceSupport {
new ClaimsSetRequest.Entry("acr").withValues(acrValues)
.withClaimRequirement(ClaimRequirement.ESSENTIAL));
- authnRequest.setRequestedClaims(authnRequest.getRequestedClaims()
- .withIDTokenClaimsRequest(addedNewAcr));
+ authnRequest.setRequestedClaims(requestedClaims.withIDTokenClaimsRequest(addedNewAcr));
} else {
// Add ACRs to existing set of requested claims
final ClaimsSetRequest requestPlusAcr = requestedIdTokenClaims.add(acrEntry);
- authnRequest.setRequestedClaims(authnRequest.getRequestedClaims()
- .withIDTokenClaimsRequest(requestPlusAcr));
+ authnRequest.setRequestedClaims(requestedClaims.withIDTokenClaimsRequest(requestPlusAcr));
}
} else {
// Else create new
@@ -117,5 +115,6 @@ public final class AuthenticationContextClassReferenceSupport {
}
}
}
- // Checkstyle: CyclomaticComplexity ON
-}
+// Checkstyle: CyclomaticComplexity ON
+
+}
\ No newline at end of file
diff --git a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipalTest.java b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipalTest.java
index 6b93f41..47dd6f8 100644
--- a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipalTest.java
+++ b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/authn/principal/AuthenticationContextClassReferencePrincipalTest.java
@@ -18,6 +18,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+ at SuppressWarnings("javadoc")
public class AuthenticationContextClassReferencePrincipalTest {
private AuthenticationContextClassReferencePrincipal principal;
diff --git a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunctionTest.java b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunctionTest.java
index 0ffc413..62b1309 100644
--- a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunctionTest.java
+++ b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProviderMetadataStringValuesLookupFunctionTest.java
@@ -15,7 +15,6 @@
package net.shibboleth.oidc.profile.config.navigate;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import java.net.URI;
@@ -32,6 +31,7 @@ import com.nimbusds.openid.connect.sdk.SubjectType;
import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata;
/** Tests for {@link ProviderMetadataStringValuesLookupFunction}.*/
+ at SuppressWarnings("javadoc")
public class ProviderMetadataStringValuesLookupFunctionTest {
/** Function to test.*/
@@ -55,7 +55,7 @@ public class ProviderMetadataStringValuesLookupFunctionTest {
final List<String> encs = function.apply(metadata);
- assertNotNull(encs);
+ assert encs != null;
assertEquals(encs.size(), 2);
}
@@ -68,7 +68,7 @@ public class ProviderMetadataStringValuesLookupFunctionTest {
final List<String> encs = function.apply(metadata);
- assertNotNull(encs);
+ assert encs != null;
assertEquals(encs.size(), 1);
}
@@ -78,6 +78,7 @@ public class ProviderMetadataStringValuesLookupFunctionTest {
new ProviderMetadataStringValuesLookupFunction("request_object_encryption_enc_values_supported");
final List<String> encs = function.apply(metadata);
+ assert encs != null;
assertTrue(encs.isEmpty());
}
@@ -91,7 +92,7 @@ public class ProviderMetadataStringValuesLookupFunctionTest {
final List<String> encs = function.apply(metadata);
- assertNotNull(encs);
+ assert encs != null;
assertEquals(encs.size(), 1);
}
@@ -103,6 +104,7 @@ public class ProviderMetadataStringValuesLookupFunctionTest {
final List<String> encs = function.apply(null);
+ assert encs != null;
assertTrue(encs.isEmpty());
}
diff --git a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunctionTest.java b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunctionTest.java
index ed59122..f219fb5 100644
--- a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunctionTest.java
+++ b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunctionTest.java
@@ -32,6 +32,7 @@ import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
import net.shibboleth.oidc.authn.principal.AuthenticationContextClassReferencePrincipal;
/** Tests for ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunction.*/
+ at SuppressWarnings("javadoc")
public class ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunctionTest {
private ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunction function;
@@ -48,9 +49,9 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunctionTest {
public void setup() {
function = new ProxyAwareDefaultOIDCAuthenticationContextClassRequestLookupFunction();
prc = new ProfileRequestContext();
- ac = prc.getSubcontext(AuthenticationContext.class, true);
- nestedPrc = ac.getSubcontext(ProfileRequestContext.class, true);
- rpc = ac.getSubcontext(RequestedPrincipalContext.class, true);
+ ac = prc.ensureSubcontext(AuthenticationContext.class);
+ nestedPrc = ac.ensureSubcontext(ProfileRequestContext.class);
+ rpc = ac.ensureSubcontext(RequestedPrincipalContext.class);
}
@Test
diff --git a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunctionTest.java b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunctionTest.java
index 35a2038..cee567e 100644
--- a/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunctionTest.java
+++ b/oidc-common-profile-api/src/test/java/net/shibboleth/oidc/profile/config/navigate/ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunctionTest.java
@@ -31,8 +31,10 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
+import net.shibboleth.shared.collection.CollectionSupport;
/** Tests for ProxyAwareDefaultOIDCAuthenticationContextClassLookupFunction.*/
+ at SuppressWarnings("javadoc")
public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunctionTest {
private ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction function;
@@ -48,9 +50,9 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
@BeforeMethod
public void setup() {
prc = new ProfileRequestContext();
- ac = prc.getSubcontext(AuthenticationContext.class, true);
- nestedPrc = ac.getSubcontext(ProfileRequestContext.class, true);
- rpc = ac.getSubcontext(RequestedPrincipalContext.class, true);
+ ac = prc.ensureSubcontext(AuthenticationContext.class);
+ nestedPrc = ac.ensureSubcontext(ProfileRequestContext.class);
+ rpc = ac.ensureSubcontext(RequestedPrincipalContext.class);
}
@Test
@@ -64,8 +66,8 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
function = new ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction(mappings);
- final Collection<Principal> mapped = function.apply(List.of("pwd"));
- assertTrue(mapped.contains(
+ final Collection<Principal> mapped = function.apply(CollectionSupport.singletonList("pwd"));
+ assertTrue(mapped != null && mapped.contains(
new AuthenticationMethodPrincipal
("urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport")));
@@ -83,7 +85,8 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
function = new ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction(mappings);;
// OTP should not be in the result
- final Collection<Principal> mapped = function.apply(List.of("pwd","otp"));
+ final Collection<Principal> mapped = function.apply(CollectionSupport.listOf("pwd", "otp"));
+ assert mapped!= null;
assertEquals(mapped.size(), 1);
assertTrue(mapped.contains(new AuthenticationMethodPrincipal
("urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport")));
@@ -94,7 +97,8 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
public void testSingleMappingSuccess_EmptyInput() {
// OTP should not be in the result
- final Collection<Principal> mapped = function.apply(Collections.emptyList());
+ final Collection<Principal> mapped = function.apply(CollectionSupport.emptyList());
+ assert mapped!= null;
assertEquals(mapped.size(), 0);
}
@@ -104,7 +108,8 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
function = new ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction(null);
// OTP should not be in the result
- final Collection<Principal> mapped = function.apply(Collections.emptyList());
+ final Collection<Principal> mapped = function.apply(CollectionSupport.emptyList());
+ assert mapped!= null;
assertEquals(mapped.size(), 0);
}
@@ -116,7 +121,8 @@ public class ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFuncti
function = new ProxyAwareDefaultOIDCAuthenticationContextClassResponseLookupFunction(mappings);
// OTP should not be in the result
- final Collection<Principal> mapped = function.apply(Collections.emptyList());
+ final Collection<Principal> mapped = function.apply(CollectionSupport.emptyList());
+ assert mapped!= null;
assertEquals(mapped.size(), 0);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list