[java-shib-profile] branch main updated: Allow for no default relying party config for SP purposes.
Scott Cantor
cantor.2 at osu.edu
Mon Mar 6 16:24:11 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-shib-profile.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-profile.git;a=commit;h=b9ca9e87ed44da1f64dd7d246a9749d9f7db356d
The following commit(s) were added to refs/heads/main by this push:
new b9ca9e8 Allow for no default relying party config for SP purposes.
b9ca9e8 is described below
commit b9ca9e87ed44da1f64dd7d246a9749d9f7db356d
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Mar 6 11:24:08 2023 -0500
Allow for no default relying party config for SP purposes.
---
.../DefaultRelyingPartyConfigurationResolver.java | 35 ++++++++++++++--------
1 file changed, 22 insertions(+), 13 deletions(-)
diff --git a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
index e0e29da..3c538e7 100644
--- a/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
+++ b/shib-profile-impl/src/main/java/net/shibboleth/profile/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
@@ -44,7 +44,6 @@ import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
import net.shibboleth.profile.relyingparty.VerifiedProfileCriterion;
-import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
@@ -52,7 +51,6 @@ import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.Criterion;
@@ -87,7 +85,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
@Nonnull private List<RelyingPartyConfiguration> rpConfigurations;
/** Default relying party, used if no other verified instance matches. */
- @NonnullAfterInit private RelyingPartyConfiguration defaultRelyingPartyConfiguration;
+ @Nullable private RelyingPartyConfiguration defaultRelyingPartyConfiguration;
/** Unverified relying party configuration, used if the request is unverified. */
@Nullable private RelyingPartyConfiguration unverifiedConfiguration;
@@ -139,7 +137,7 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
*
* @return default configuration
*/
- @NonnullAfterInit public RelyingPartyConfiguration getDefaultConfiguration() {
+ @Nullable public RelyingPartyConfiguration getDefaultConfiguration() {
return defaultRelyingPartyConfiguration;
}
@@ -148,10 +146,10 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
*
* @param configuration default configuration
*/
- public void setDefaultConfiguration(@Nonnull final RelyingPartyConfiguration configuration) {
+ public void setDefaultConfiguration(@Nullable final RelyingPartyConfiguration configuration) {
checkSetterPreconditions();
- defaultRelyingPartyConfiguration = Constraint.isNotNull(configuration, "Default RelyingPartyConfiguration cannot be null");
+ defaultRelyingPartyConfiguration = configuration;
}
/**
@@ -238,10 +236,15 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
}
if (matches.isEmpty()) {
- log.debug("No matching relying party configuration applicable, returning default: {}",
- getDefaultConfiguration().getId());
- assert defaultRelyingPartyConfiguration != null;
- return CollectionSupport.singleton(defaultRelyingPartyConfiguration);
+ if (defaultRelyingPartyConfiguration != null) {
+ log.debug("No matching relying party configuration applicable, returning default: {}",
+ defaultRelyingPartyConfiguration.getId());
+ assert defaultRelyingPartyConfiguration != null;
+ return CollectionSupport.singleton(defaultRelyingPartyConfiguration);
+ } else {
+ log.warn("No matching relying party configuration applicable, returning nothing");
+ return CollectionSupport.emptyList();
+ }
}
return matches;
}
@@ -278,9 +281,15 @@ public class DefaultRelyingPartyConfigurationResolver extends AbstractIdentifiab
log.debug("Relying party configuration {} is not applicable", configuration.getId());
}
- log.debug("No relying party configurations applicable, returning default: {}",
- getDefaultConfiguration().getId());
- return getDefaultConfiguration();
+ if (defaultRelyingPartyConfiguration != null) {
+ log.debug("No matching relying party configuration applicable, returning default: {}",
+ defaultRelyingPartyConfiguration.getId());
+ assert defaultRelyingPartyConfiguration != null;
+ return defaultRelyingPartyConfiguration;
+ }
+
+ log.warn("No matching relying party configuration applicable, returning nothing");
+ return null;
}
/** {@inheritDoc} */
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list