Class AbstractSAML2ProfileConfiguration
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.profile.config.AbstractProfileConfiguration
net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration
net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration
net.shibboleth.idp.saml.saml2.profile.config.AbstractSAML2ProfileConfiguration
- All Implemented Interfaces:
ConditionalProfileConfiguration,ProfileConfiguration,SAMLProfileConfiguration,SAML2ProfileConfiguration,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent
- Direct Known Subclasses:
AbstractSAML2ArtifactAwareProfileConfiguration,ArtifactResolutionProfileConfiguration
public abstract class AbstractSAML2ProfileConfiguration
extends AbstractSAMLProfileConfiguration
implements SAML2ProfileConfiguration
Base class for SAML 2 profile configurations.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Predicate<ProfileRequestContext>Predicate used to determine if assertions should be encrypted.private Predicate<ProfileRequestContext>Predicate used to determine if attributes should be encrypted.private Predicate<ProfileRequestContext>Whether encryption is optional in the face of no key, etc.private Predicate<ProfileRequestContext>Predicate used to determine if name identifiers should be encrypted.private Predicate<ProfileRequestContext>Whether to ignore signatures in requests.private Function<ProfileRequestContext,Collection<String>> Lookup function to supply proxy audiences.private Function<ProfileRequestContext,Integer> Lookup function to supply proxyCount property.Fields inherited from class net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration
DEFAULT_ASSERTION_LIFETIMEFields inherited from class net.shibboleth.idp.profile.config.AbstractProfileConfiguration
DEFAULT_DISALLOWED_FEATURES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetProxyAudiences(ProfileRequestContext profileRequestContext) Gets the unmodifiable collection of audiences for a proxied assertion.getProxyCount(ProfileRequestContext profileRequestContext) Gets the maximum number of times an assertion may be proxied.booleanisEncryptAssertions(ProfileRequestContext profileRequestContext) Gets the predicate used to determine if assertions should be encrypted.booleanisEncryptAttributes(ProfileRequestContext profileRequestContext) Gets the predicate used to determine if attributes should be encrypted.booleanisEncryptionOptional(ProfileRequestContext profileRequestContext) Gets whether to ignore an inability to encrypt due to external factors.booleanisEncryptNameIDs(ProfileRequestContext profileRequestContext) Gets the predicate used to determine if name identifiers should be encrypted.booleanisIgnoreRequestSignatures(ProfileRequestContext profileRequestContext) Gets whether to bypass verification of request signatures.voidsetEncryptAssertions(boolean flag) Set whether assertions should be encrypted.voidSet the predicate used to determine if assertions should be encrypted.voidsetEncryptAttributes(boolean flag) Set whether attributes should be encrypted.voidSet the predicate used to determine if attributes should be encrypted.voidsetEncryptionOptional(boolean flag) Set whether encryption is optional in the face of a missing key, etc.voidSet a condition to determine whether encryption is optional in the face of a missing key, etc.voidsetEncryptNameIDs(boolean flag) Set whether name identifiers should be encrypted.voidsetEncryptNameIDsPredicate(Predicate<ProfileRequestContext> predicate) Set the predicate used to determine if name identifiers should be encrypted.voidsetIgnoreRequestSignatures(boolean flag) Sets whether to bypass verification of request signatures.voidSets a condition to determine whether to bypass verification of request signatures.voidsetProxyAudiences(Collection<String> audiences) Set the proxy audiences to be added to responses.voidSet a lookup strategy for the proxy audiences to be added to responses.voidsetProxyCount(Integer count) Set the maximum number of times an assertion may be proxied.voidSet a lookup strategy for the maximum number of times an assertion may be proxied.Methods inherited from class net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration
getAdditionalAudiencesForAssertion, getAssertionLifetime, isIncludeConditionsNotBefore, isSignAssertions, isSignRequests, isSignResponses, setAdditionalAudiencesForAssertion, setAdditionalAudiencesForAssertionLookupStrategy, setAssertionLifetime, setAssertionLifetimeLookupStrategy, setIncludeConditionsNotBefore, setIncludeConditionsNotBeforePredicate, setSignAssertions, setSignAssertionsPredicate, setSignRequests, setSignRequestsPredicate, setSignResponses, setSignResponsesPredicateMethods inherited from class net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration
getActivationCondition, setActivationConditionMethods inherited from class net.shibboleth.idp.profile.config.AbstractProfileConfiguration
equals, getDisallowedFeatures, getInboundInterceptorFlows, getOutboundInterceptorFlows, getSecurityConfiguration, hashCode, isFeatureDisallowed, setDisallowedFeatures, setDisallowedFeaturesLookupStrategy, setInboundFlowsLookupStrategy, setInboundInterceptorFlows, setInboundInterceptorFlowsLookupStrategy, setOutboundFlowsLookupStrategy, setOutboundInterceptorFlows, setOutboundInterceptorFlowsLookupStrategy, setSecurityConfiguration, setSecurityConfigurationLookupStrategyMethods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setIdMethods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
doInitialize, getIdMethods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getIdMethods inherited from interface net.shibboleth.idp.profile.config.ProfileConfiguration
getInboundInterceptorFlows, getOutboundInterceptorFlows, getSecurityConfiguration
-
Field Details
-
ignoreRequestSignaturesPredicate
Whether to ignore signatures in requests. -
encryptionOptionalPredicate
Whether encryption is optional in the face of no key, etc. -
encryptAssertionsPredicate
Predicate used to determine if assertions should be encrypted. -
encryptNameIDsPredicate
Predicate used to determine if name identifiers should be encrypted. -
encryptAttributesPredicate
Predicate used to determine if attributes should be encrypted. -
proxyCountLookupStrategy
Lookup function to supply proxyCount property. -
proxyAudiencesLookupStrategy
Lookup function to supply proxy audiences.
-
-
Constructor Details
-
AbstractSAML2ProfileConfiguration
Constructor.- Parameters:
profileId- ID of the communication profile, never null or empty
-
-
Method Details
-
getProxyCount
Gets the maximum number of times an assertion may be proxied.- Specified by:
getProxyCountin interfaceSAML2ProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- maximum number of times an assertion may be proxied
-
setProxyCount
Set the maximum number of times an assertion may be proxied.- Parameters:
count- maximum number of times an assertion may be proxied
-
setProxyCountLookupStrategy
Set a lookup strategy for the maximum number of times an assertion may be proxied.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
getProxyAudiences
@Nonnull @NonnullElements @NotLive @Unmodifiable public Set<String> getProxyAudiences(@Nullable ProfileRequestContext profileRequestContext) Gets the unmodifiable collection of audiences for a proxied assertion.- Specified by:
getProxyAudiencesin interfaceSAML2ProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- audiences for a proxied assertion
-
setProxyAudiences
Set the proxy audiences to be added to responses.- Parameters:
audiences- proxy audiences to be added to responses
-
setProxyAudiencesLookupStrategy
public void setProxyAudiencesLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Set a lookup strategy for the proxy audiences to be added to responses.- Parameters:
strategy- lookup strategy- Since:
- 3.3.0
-
isIgnoreRequestSignatures
Gets whether to bypass verification of request signatures.This is typically of use to deal with broken services or to allow a signer's key to be bypassed in the event that it is managed improperly.
- Specified by:
isIgnoreRequestSignaturesin interfaceSAML2ProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- true iff request signatures should be ignored
-
setIgnoreRequestSignatures
public void setIgnoreRequestSignatures(boolean flag) Sets whether to bypass verification of request signatures.- Parameters:
flag- flag to set- Since:
- 4.0.0
-
setIgnoreRequestSignaturesPredicate
public void setIgnoreRequestSignaturesPredicate(@Nonnull Predicate<ProfileRequestContext> condition) Sets a condition to determine whether to bypass verification of request signatures.- Parameters:
condition- condition to set- Since:
- 4.0.0
-
isEncryptionOptional
Gets whether to ignore an inability to encrypt due to external factors.This allows a deployer to signal that encryption is "best effort" and can be omitted if a relying party doesn't possess a key, support a compatible algorithm, etc.
Defaults to false.
- Specified by:
isEncryptionOptionalin interfaceSAML2ProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- true iff encryption should be treated as optional
-
setEncryptionOptional
public void setEncryptionOptional(boolean flag) Set whether encryption is optional in the face of a missing key, etc.- Parameters:
flag- flag to set
-
setEncryptionOptionalPredicate
Set a condition to determine whether encryption is optional in the face of a missing key, etc.- Parameters:
condition- condition to set- Since:
- 3.3.0
-
isEncryptAssertions
Gets the predicate used to determine if assertions should be encrypted.- Specified by:
isEncryptAssertionsin interfaceSAML2ProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- predicate used to determine if assertions should be encrypted
-
setEncryptAssertions
public void setEncryptAssertions(boolean flag) Set whether assertions should be encrypted.- Parameters:
flag- flag to set
-
setEncryptAssertionsPredicate
Set the predicate used to determine if assertions should be encrypted.- Parameters:
predicate- predicate used to determine if assertions should be encrypted- Since:
- 4.0.0
-
isEncryptNameIDs
Gets the predicate used to determine if name identifiers should be encrypted.- Specified by:
isEncryptNameIDsin interfaceSAML2ProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- predicate used to determine if name identifiers should be encrypted
-
setEncryptNameIDs
public void setEncryptNameIDs(boolean flag) Set whether name identifiers should be encrypted.- Parameters:
flag- flag to set
-
setEncryptNameIDsPredicate
Set the predicate used to determine if name identifiers should be encrypted.- Parameters:
predicate- predicate used to determine if name identifiers should be encrypted- Since:
- 4.0.0
-
isEncryptAttributes
Gets the predicate used to determine if attributes should be encrypted.- Specified by:
isEncryptAttributesin interfaceSAML2ProfileConfiguration- Parameters:
profileRequestContext- current profile request context- Returns:
- predicate used to determine if attributes should be encrypted
-
setEncryptAttributes
public void setEncryptAttributes(boolean flag) Set whether attributes should be encrypted.- Parameters:
flag- flag to set
-
setEncryptAttributesPredicate
Set the predicate used to determine if attributes should be encrypted.- Parameters:
predicate- predicate used to determine if attributes should be encrypted- Since:
- 4.0.0
-