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_LIFETIME
Fields 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.boolean
isEncryptAssertions
(ProfileRequestContext profileRequestContext) Gets the predicate used to determine if assertions should be encrypted.boolean
isEncryptAttributes
(ProfileRequestContext profileRequestContext) Gets the predicate used to determine if attributes should be encrypted.boolean
isEncryptionOptional
(ProfileRequestContext profileRequestContext) Gets whether to ignore an inability to encrypt due to external factors.boolean
isEncryptNameIDs
(ProfileRequestContext profileRequestContext) Gets the predicate used to determine if name identifiers should be encrypted.boolean
isIgnoreRequestSignatures
(ProfileRequestContext profileRequestContext) Gets whether to bypass verification of request signatures.void
setEncryptAssertions
(boolean flag) Set whether assertions should be encrypted.void
Set the predicate used to determine if assertions should be encrypted.void
setEncryptAttributes
(boolean flag) Set whether attributes should be encrypted.void
Set the predicate used to determine if attributes should be encrypted.void
setEncryptionOptional
(boolean flag) Set whether encryption is optional in the face of a missing key, etc.void
Set a condition to determine whether encryption is optional in the face of a missing key, etc.void
setEncryptNameIDs
(boolean flag) Set whether name identifiers should be encrypted.void
setEncryptNameIDsPredicate
(Predicate<ProfileRequestContext> predicate) Set the predicate used to determine if name identifiers should be encrypted.void
setIgnoreRequestSignatures
(boolean flag) Sets whether to bypass verification of request signatures.void
Sets a condition to determine whether to bypass verification of request signatures.void
setProxyAudiences
(Collection<String> audiences) Set the proxy audiences to be added to responses.void
Set a lookup strategy for the proxy audiences to be added to responses.void
setProxyCount
(Integer count) Set the maximum number of times an assertion may be proxied.void
Set 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, setSignResponsesPredicate
Methods inherited from class net.shibboleth.idp.profile.config.AbstractConditionalProfileConfiguration
getActivationCondition, setActivationCondition
Methods 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, setSecurityConfigurationLookupStrategy
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
doInitialize, getId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
Methods 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:
getProxyCount
in 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:
getProxyAudiences
in 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:
isIgnoreRequestSignatures
in 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:
isEncryptionOptional
in 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:
isEncryptAssertions
in 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:
isEncryptNameIDs
in 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:
isEncryptAttributes
in 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
-