[java-shib-profile] branch main updated: IDP-2126 - Admin flow to report on config settings

Scott Cantor cantor.2 at osu.edu
Mon Jun 12 16:18:44 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=bd61e4b6782f7e5995c9993418beea85653fe27c

The following commit(s) were added to refs/heads/main by this push:
     new bd61e4b  IDP-2126 - Admin flow to report on config settings
bd61e4b is described below

commit bd61e4b6782f7e5995c9993418beea85653fe27c
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Jun 12 12:18:41 2023 -0400

    IDP-2126 - Admin flow to report on config settings
    
    https://shibboleth.atlassian.net/browse/IDP-2126
    
    Annotate "exposable" config settings for admin flow.
---
 shib-profile-api/pom.xml                                |  4 ++++
 .../config/AttributeResolvingProfileConfiguration.java  |  3 +++
 .../profile/config/ConditionalProfileConfiguration.java |  3 +++
 .../config/OverriddenIssuerProfileConfiguration.java    |  2 ++
 .../shibboleth/profile/config/ProfileConfiguration.java |  3 +++
 .../profile/relyingparty/RelyingPartyConfiguration.java |  4 ++++
 .../profile/config/BasicSAMLArtifactConfiguration.java  | 17 ++++++++++++++++-
 .../config/SAMLArtifactAwareProfileConfiguration.java   |  3 +++
 .../SAMLArtifactConsumerProfileConfiguration.java       |  4 ++++
 .../SAMLAssertionConsumingProfileConfiguration.java     |  4 ++++
 .../SAMLAssertionProducingProfileConfiguration.java     |  6 +++++-
 .../saml/profile/config/SAMLProfileConfiguration.java   |  4 ++++
 .../config/ArtifactResolutionProfileConfiguration.java  |  2 ++
 .../config/ArtifactResolutionProfileConfiguration.java  |  4 ++++
 .../profile/config/BrowserSSOProfileConfiguration.java  |  9 +++++++++
 .../SAML2AssertionProducingProfileConfiguration.java    |  3 +++
 .../saml2/profile/config/SAML2ProfileConfiguration.java |  4 ++++
 .../config/SingleLogoutProfileConfiguration.java        |  2 ++
 18 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/shib-profile-api/pom.xml b/shib-profile-api/pom.xml
index 8e6dcb3..302e71f 100644
--- a/shib-profile-api/pom.xml
+++ b/shib-profile-api/pom.xml
@@ -64,6 +64,10 @@
             <groupId>${shib-shared.groupId}</groupId>
             <artifactId>shib-spring</artifactId>
         </dependency>
+        <dependency>
+            <groupId>${shib-shared.groupId}</groupId>
+            <artifactId>shib-support</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>${spring.groupId}</groupId>
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java
index 6270225..362c435 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/AttributeResolvingProfileConfiguration.java
@@ -21,6 +21,8 @@ import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
+
 /**
  * {@link ProfileConfiguration} with optional resolution of attributes.
  *
@@ -35,6 +37,7 @@ public interface AttributeResolvingProfileConfiguration extends ProfileConfigura
      * 
      * @return true iff resolution should be done
      */
+    @ConfigurationSetting(name="resolveAttributes")
     boolean isResolveAttributes(@Nullable final ProfileRequestContext profileRequestContext);
     
 }
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/ConditionalProfileConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/ConditionalProfileConfiguration.java
index 3849dbb..73f9d7b 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/ConditionalProfileConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/ConditionalProfileConfiguration.java
@@ -23,6 +23,8 @@ import javax.annotation.Nonnull;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
+
 /**
  * A {@link ProfileConfiguration} supporting an activation condition.
  * 
@@ -35,6 +37,7 @@ public interface ConditionalProfileConfiguration extends ProfileConfiguration {
      * 
      * @return condition controlling enablement of this profile
      */
+    @ConfigurationSetting(name="activationCondition")
     @Nonnull Predicate<ProfileRequestContext> getActivationCondition();
     
 }
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/OverriddenIssuerProfileConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/OverriddenIssuerProfileConfiguration.java
index dac6bdb..4bdd9b1 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/OverriddenIssuerProfileConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/OverriddenIssuerProfileConfiguration.java
@@ -21,6 +21,7 @@ import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /**
@@ -37,6 +38,7 @@ public interface OverriddenIssuerProfileConfiguration extends ProfileConfigurati
      * 
      * @return issuer or null to use usual default
      */
+    @ConfigurationSetting(name="issuer")
     @Nullable @NotEmpty String getIssuer(@Nullable final ProfileRequestContext profileRequestContext);
     
 }
\ No newline at end of file
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/config/ProfileConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/config/ProfileConfiguration.java
index c2b8663..a32c111 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/config/ProfileConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/config/ProfileConfiguration.java
@@ -22,6 +22,7 @@ import javax.annotation.Nullable;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.opensaml.security.config.SecurityConfiguration;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.component.IdentifiedComponent;
 
 /** Represents the configuration of a particular communication profile. */
@@ -34,6 +35,7 @@ public interface ProfileConfiguration extends IdentifiedComponent {
      * 
      * @return security configuration to use with this profile
      */
+    @ConfigurationSetting(name="securityConfiguration")
     @Nullable SecurityConfiguration getSecurityConfiguration(
             @Nullable final ProfileRequestContext profileRequestContext);
     
@@ -48,6 +50,7 @@ public interface ProfileConfiguration extends IdentifiedComponent {
      * 
      * @since 5.0.0
      */
+    @ConfigurationSetting(name="disallowedFeatures")
     int getDisallowedFeatures(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
diff --git a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java
index 981478f..a778448 100644
--- a/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java
+++ b/shib-profile-api/src/main/java/net/shibboleth/profile/relyingparty/RelyingPartyConfiguration.java
@@ -27,6 +27,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
 import org.opensaml.security.config.SecurityConfiguration;
 
 import net.shibboleth.profile.config.ProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -55,6 +56,7 @@ public interface RelyingPartyConfiguration extends InitializableComponent, Ident
      * 
      * @since 5.0.0
      */
+    @ConfigurationSetting(name="issuer")
     @Nullable @NotEmpty String getIssuer(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -74,6 +76,7 @@ public interface RelyingPartyConfiguration extends InitializableComponent, Ident
      *
      * @return true iff it is acceptable to expose detailed error information
      */
+    @ConfigurationSetting(name="detailedErrors")
     boolean isDetailedErrors(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -85,6 +88,7 @@ public interface RelyingPartyConfiguration extends InitializableComponent, Ident
      * 
      * @since 5.0.0
      */
+    @ConfigurationSetting(name="securityConfiguration")
     @Nullable SecurityConfiguration getSecurityConfiguration(
             @Nullable final ProfileRequestContext profileRequestContext);
 
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/BasicSAMLArtifactConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/BasicSAMLArtifactConfiguration.java
index 89ba53f..03309c0 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/BasicSAMLArtifactConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/BasicSAMLArtifactConfiguration.java
@@ -19,8 +19,10 @@ package net.shibboleth.saml.profile.config;
 
 import java.nio.ByteBuffer;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import net.shibboleth.shared.component.IdentifiableComponent;
 import net.shibboleth.shared.logic.ConstraintViolationException;
 import net.shibboleth.shared.primitive.StringSupport;
 
@@ -30,7 +32,10 @@ import net.shibboleth.shared.primitive.StringSupport;
  * <p>While sufficient for known SAML 1 and 2 artifact types, the class
  * may be extended if necessary to carry type-specific additions.</p>
  */
-public class BasicSAMLArtifactConfiguration implements SAMLArtifactConfiguration {
+public class BasicSAMLArtifactConfiguration implements SAMLArtifactConfiguration, IdentifiableComponent {
+
+    /** Identifier. */
+    @Nullable private String id;
 
     /** The artifact type code. */
     @Nullable private byte[] artifactType;
@@ -41,6 +46,16 @@ public class BasicSAMLArtifactConfiguration implements SAMLArtifactConfiguration
     /** The artifact resolution index. */
     @Nullable private Integer artifactResolutionIndex;
     
+    /** {@inheritDoc} */
+    @Nullable public String getId() {
+        return id;
+    }
+
+    /** {@inheritDoc} */
+    public void setId(@Nonnull final String componentId) {
+        id = componentId;
+    }
+    
     /** {@inheritDoc} */
     @Nullable public byte[] getArtifactType() {
         return artifactType;
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactAwareProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactAwareProfileConfiguration.java
index ea6e664..411918b 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactAwareProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactAwareProfileConfiguration.java
@@ -21,6 +21,8 @@ import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
+
 /** Common interface for SAML profile configurations involving artifact production. */
 public interface SAMLArtifactAwareProfileConfiguration extends SAMLProfileConfiguration {
     
@@ -31,6 +33,7 @@ public interface SAMLArtifactAwareProfileConfiguration extends SAMLProfileConfig
      * 
      * @return  an associated artifact configuration, or null
      */
+    @ConfigurationSetting(name="artfactConfiguration")
     @Nullable SAMLArtifactConfiguration getArtifactConfiguration(
             @Nullable final ProfileRequestContext profileRequestContext); 
     
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactConsumerProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactConsumerProfileConfiguration.java
index 6c8c63c..aed38fc 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactConsumerProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLArtifactConsumerProfileConfiguration.java
@@ -21,6 +21,8 @@ import javax.annotation.Nullable;
 
 import org.opensaml.messaging.context.MessageContext;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
+
 /**
  * Common interface for SAML profile configurations involving artifact consumption, for example artifact
  * resolution requests. 
@@ -34,6 +36,7 @@ public interface SAMLArtifactConsumerProfileConfiguration extends SAMLProfileCon
      * 
      * @return whether artifact resolution requests should be signed
      */
+    @ConfigurationSetting(name="signArtifactRequests")
     boolean isSignArtifactRequests(@Nullable final MessageContext messageContext); 
 
     /**
@@ -43,6 +46,7 @@ public interface SAMLArtifactConsumerProfileConfiguration extends SAMLProfileCon
      * 
      * @return whether artifact resolution requests should use client TLS
      */
+    @ConfigurationSetting(name="clientTLSArtifactRequests")
     boolean isClientTLSArtifactRequests(@Nullable final MessageContext messageContext); 
 
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java
index e08ef12..606e1d1 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionConsumingProfileConfiguration.java
@@ -26,6 +26,7 @@ import javax.annotation.Nullable;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NonNegative;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -42,6 +43,7 @@ public interface SAMLAssertionConsumingProfileConfiguration extends SAML2Profile
      * 
      * @return predicate used to determine if assertions must be signed
      */
+    @ConfigurationSetting(name="requireSignedAssertions")
     boolean isRequireSignedAssertions(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -51,6 +53,7 @@ public interface SAMLAssertionConsumingProfileConfiguration extends SAML2Profile
      * 
      * @return maximum lifetime of the assertions
      */
+    @ConfigurationSetting(name="assertionLifetime")
     @Nullable @NonNegative Duration getAssertionLifetime(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -61,6 +64,7 @@ public interface SAMLAssertionConsumingProfileConfiguration extends SAML2Profile
      * @return additional audiences
      */
     @Nonnull @NotLive @Unmodifiable
+    @ConfigurationSetting(name="assertionAudiences")
     Set<String> getAssertionAudiences( @Nullable final ProfileRequestContext profileRequestContext);
 
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java
index 13d178e..ebe4c98 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLAssertionProducingProfileConfiguration.java
@@ -25,6 +25,7 @@ import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NonNegative;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -44,6 +45,7 @@ public interface SAMLAssertionProducingProfileConfiguration extends SAMLProfileC
      * 
      * @return whether generated assertions should be signed
      */
+    @ConfigurationSetting(name="signAssertions")
     boolean isSignAssertions(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -53,6 +55,7 @@ public interface SAMLAssertionProducingProfileConfiguration extends SAMLProfileC
      * 
      * @return  whether to include a NotBefore attribute in the Conditions of generated assertions
      */
+    @ConfigurationSetting(name="includeConditionsNotBefore")
     boolean isIncludeConditionsNotBefore(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -62,9 +65,9 @@ public interface SAMLAssertionProducingProfileConfiguration extends SAMLProfileC
      * 
      * @return lifetime of generated assertions
      */
+    @ConfigurationSetting(name="assertionLifetime")
     @NonNegative @Nonnull Duration getAssertionLifetime(@Nullable final ProfileRequestContext profileRequestContext);
 
-
     /**
      * Get an unmodifiable set of audiences, in addition to the relying party(ies) to which the IdP is issuing the
      * assertion, with which an assertion may be shared.
@@ -74,6 +77,7 @@ public interface SAMLAssertionProducingProfileConfiguration extends SAMLProfileC
      * @return additional audiences to which an assertion may be shared
      */
     @Nonnull @NotLive @Unmodifiable
+    @ConfigurationSetting(name="assertionAudiences")
     Set<String> getAssertionAudiences(@Nullable final ProfileRequestContext profileRequestContext);
     
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLProfileConfiguration.java
index c71b7ef..afb5882 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/profile/config/SAMLProfileConfiguration.java
@@ -26,6 +26,7 @@ import org.opensaml.messaging.handler.MessageHandler;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.profile.config.ProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 
 /** Common interface for SAML profile configurations. */
 public interface SAMLProfileConfiguration extends ProfileConfiguration {
@@ -37,6 +38,7 @@ public interface SAMLProfileConfiguration extends ProfileConfiguration {
      * 
      * @return predicate used to determine if generated requests should be signed
      */
+    @ConfigurationSetting(name="signRequests")
     boolean isSignRequests(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -46,6 +48,7 @@ public interface SAMLProfileConfiguration extends ProfileConfiguration {
      * 
      * @return predicate used to determine if generated responses should be signed
      */
+    @ConfigurationSetting(name="signResponses")
     boolean isSignResponses(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -62,6 +65,7 @@ public interface SAMLProfileConfiguration extends ProfileConfiguration {
      * 
      * @return message handler
      */
+    @ConfigurationSetting(name="messageHandler")
     @Nullable Function<MessageContext,Exception> getMessageHandler(@Nullable final MessageContext messageContext);
 
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/ArtifactResolutionProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/ArtifactResolutionProfileConfiguration.java
index 3d03339..516a6f5 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/ArtifactResolutionProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml1/profile/config/ArtifactResolutionProfileConfiguration.java
@@ -23,6 +23,7 @@ import javax.annotation.Nullable;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.saml.profile.config.SAMLProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /** Configuration support for SAML 1.x artifact resolution profile. */
@@ -38,6 +39,7 @@ public interface ArtifactResolutionProfileConfiguration extends SAMLProfileConfi
      * 
      * @return whether enclosed assertions should be signed
      */
+    @ConfigurationSetting(name="signAssertions")
     boolean isSignAssertions(@Nullable final ProfileRequestContext profileRequestContext);
 
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/ArtifactResolutionProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/ArtifactResolutionProfileConfiguration.java
index 0aa9737..2cf58d9 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/ArtifactResolutionProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/ArtifactResolutionProfileConfiguration.java
@@ -22,6 +22,7 @@ import javax.annotation.Nullable;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 /** Configuration support for SAML 2.0 artifact resolution profile. */
@@ -37,6 +38,7 @@ public interface ArtifactResolutionProfileConfiguration extends SAML2ProfileConf
      * 
      * @return whether enclosed assertions should be signed
      */
+    @ConfigurationSetting(name="signAssertions")
     boolean isSignAssertions(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -46,6 +48,7 @@ public interface ArtifactResolutionProfileConfiguration extends SAML2ProfileConf
     * 
     * @return whether enclosed assertions should be encrypted
     */
+    @ConfigurationSetting(name="encryptAssertions")
     boolean isEncryptAssertions(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -55,6 +58,7 @@ public interface ArtifactResolutionProfileConfiguration extends SAML2ProfileConf
      * 
      * @return whether enclosed attributes should be encrypted
      */
+    @ConfigurationSetting(name="encryptAttributes")
     boolean isEncryptAttributes(@Nullable final ProfileRequestContext profileRequestContext);
 
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java
index c392d02..d35fffc 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/BrowserSSOProfileConfiguration.java
@@ -25,6 +25,7 @@ import javax.annotation.Nullable;
 
 import net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration;
 import net.shibboleth.saml.profile.config.SAMLAssertionConsumingProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NonNegative;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.annotation.constraint.NotLive;
@@ -69,6 +70,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return true iff a fresh user presence proof should be required for this request
      */
+    @ConfigurationSetting(name="forceAuthn")
     boolean isForceAuthn(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -79,6 +81,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return whether to compare addresses
      */
+    @ConfigurationSetting(name="checkAddress")
     boolean isCheckAddress(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -90,6 +93,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return max time since inbound AuthnInstant
      */
+    @ConfigurationSetting(name="maximumTimeSinceAuthn")
     @NonNegative @Nullable Duration getMaximumTimeSinceAuthn(
             @Nullable final ProfileRequestContext profileRequestContext);
 
@@ -100,6 +104,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return maximum number of times an assertion may be proxied
      */
+    @ConfigurationSetting(name="proxyCount")
     @NonNegative @Nullable Integer getProxyCount(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -112,6 +117,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return comparison value or null
      */
+    @ConfigurationSetting(name="authnContextComparison")
     @Nullable AuthnContextComparisonTypeEnumeration getAuthnContextComparison(
             @Nullable final ProfileRequestContext profileRequestContext);
 
@@ -122,6 +128,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return requested SPNameQualifier
      */
+    @ConfigurationSetting(name="sPNameQualifier")
     @Nullable String getSPNameQualifier(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -131,6 +138,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return the AttributeConsumingServiceIndex
      */
+    @ConfigurationSetting(name="attributeIndex")
     @Nullable Integer getAttributeIndex(@Nullable final ProfileRequestContext profileRequestContext);
     
     /**
@@ -140,6 +148,7 @@ public interface BrowserSSOProfileConfiguration extends SAMLArtifactConsumerProf
      * 
      * @return the requested attributes
      */
+    @ConfigurationSetting(name="requestedAttributes")
     @Nonnull @Unmodifiable @NotLive Collection<RequestedAttribute> getRequestedAttributes(
             @Nullable final ProfileRequestContext profileRequestContext);
     
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2AssertionProducingProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2AssertionProducingProfileConfiguration.java
index 16e9185..1e1a7df 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2AssertionProducingProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2AssertionProducingProfileConfiguration.java
@@ -22,6 +22,7 @@ import javax.annotation.Nullable;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.saml.profile.config.SAMLAssertionProducingProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 
 /**
  * Interface for SAML 2.0 profiles that produce assertions.
@@ -36,6 +37,7 @@ public interface SAML2AssertionProducingProfileConfiguration extends SAML2Profil
      * 
      * @return whether assertions should be encrypted
      */
+    @ConfigurationSetting(name="encryptAssertions")
     boolean isEncryptAssertions(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -45,5 +47,6 @@ public interface SAML2AssertionProducingProfileConfiguration extends SAML2Profil
      * 
      * @return whether attributes should be encrypted
      */
+    @ConfigurationSetting(name="encryptAttributes")
     boolean isEncryptAttributes(@Nullable final ProfileRequestContext profileRequestContext);
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2ProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2ProfileConfiguration.java
index 5099bba..56c2ef1 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2ProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SAML2ProfileConfiguration.java
@@ -22,6 +22,7 @@ import javax.annotation.Nullable;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.saml.profile.config.SAMLProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 
 /**
  * Base interface for SAML 2 profile configurations. 
@@ -38,6 +39,7 @@ public interface SAML2ProfileConfiguration extends SAMLProfileConfiguration {
      * 
      * @return true iff request signatures should be ignored
      */
+    @ConfigurationSetting(name="ignoreRequestSignatures")
     boolean isIgnoreRequestSignatures(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -53,6 +55,7 @@ public interface SAML2ProfileConfiguration extends SAMLProfileConfiguration {
      * 
      * @return true iff encryption should be treated as optional
      */
+    @ConfigurationSetting(name="encryptionOptional")
     boolean isEncryptionOptional(@Nullable final ProfileRequestContext profileRequestContext);
 
     /**
@@ -62,6 +65,7 @@ public interface SAML2ProfileConfiguration extends SAMLProfileConfiguration {
      * 
      * @return predicate used to determine if name identifiers should be encrypted
      */
+    @ConfigurationSetting(name="encryptNameIDs")
     boolean isEncryptNameIDs(@Nullable final ProfileRequestContext profileRequestContext);
 
 }
\ No newline at end of file
diff --git a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java
index eb9d235..259cc33 100644
--- a/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java
+++ b/shib-saml-profile-api/src/main/java/net/shibboleth/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java
@@ -26,6 +26,7 @@ import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration;
+import net.shibboleth.shared.annotation.ConfigurationSetting;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 import net.shibboleth.shared.annotation.constraint.NotLive;
 import net.shibboleth.shared.annotation.constraint.Unmodifiable;
@@ -70,6 +71,7 @@ public interface SingleLogoutProfileConfiguration extends SAML2ProfileConfigurat
      * 
      * @since 3.4.0
      */
+    @ConfigurationSetting(name="qualifiedNameIDFormats")
     @Nonnull @Unmodifiable @NotLive Collection<String> getQualifiedNameIDFormats(
             @Nullable final ProfileRequestContext profileRequestContext);
     

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list