Package net.shibboleth.idp.saml.saml2.profile.config.impl

# Class SingleLogoutProfileConfiguration

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.profile.config.AbstractProfileConfiguration
net.shibboleth.profile.config.AbstractConditionalProfileConfiguration
net.shibboleth.idp.profile.config.AbstractInterceptorAwareProfileConfiguration
net.shibboleth.idp.saml.profile.config.impl.AbstractSAMLProfileConfiguration
net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ProfileConfiguration
net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ArtifactAwareProfileConfiguration
net.shibboleth.idp.saml.saml2.profile.config.impl.SingleLogoutProfileConfiguration

All Implemented Interfaces:
  `InterceptorAwareProfileConfiguration`, `SAMLProfileConfiguration`, `ConditionalProfileConfiguration`, `ProfileConfiguration`, `SAMLArtifactAwareProfileConfiguration`, `SAMLArtifactConsumerProfileConfiguration`, `SAMLProfileConfiguration`, `SAML2ProfileConfiguration`, `SingleLogoutProfileConfiguration`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`

public class SingleLogoutProfileConfiguration extends AbstractSAML2ArtifactAwareProfileConfiguration implements SingleLogoutProfileConfiguration
Configuration support for IdP SAML 2 Single Logout.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Predicate<MessageContext>`
`clientTLSSOAPRequestsPredicate`
Predicate used to determine if SOAP-based requests should use client TLS.
`static final String`
`PROFILE_COUNTER`
Name of profile counter.
`private Function<ProfileRequestContext,Collection<String>>`
`qualifiedNameIDFormatsLookupStrategy`
Lookup function to supply qualifiedNameIDFormats property.
`private Predicate<MessageContext>`
`signSOAPRequestsPredicate`
Predicate used to determine if SOAP-based requests should be signed.

### Fields inherited from interface net.shibboleth.profile.config.ProfileConfiguration

`DEFAULT_DISALLOWED_FEATURES`

### Fields inherited from interface net.shibboleth.saml.saml2.profile.config.SingleLogoutProfileConfiguration

`PROFILE_ID`

## Constructor Summary

Constructors
Modifier
Constructor
Description
``
`SingleLogoutProfileConfiguration()`
Constructor.
`protected`
`SingleLogoutProfileConfiguration(String profileId)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`Collection<String>`
`getQualifiedNameIDFormats(ProfileRequestContext profileRequestContext)`
`boolean`
`isClientTLSSOAPRequests(MessageContext messageContext)`
`boolean`
`isSignSOAPRequests(MessageContext messageContext)`
`void`
`setClientTLSSOAPRequests(boolean flag)`
Set whether SOAP-based requests should use client TLS.
`void`
`setClientTLSSOAPRequestsPredicate(Predicate<MessageContext> predicate)`
Set the predicate used to determine if SOAP-based requests should use client TLS.
`void`
`setQualifiedNameIDFormats(Collection<String> formats)`
Set a collection of `NameID` Format values for which the use of the NameQualifier and SPNameQualifier attributes is defined to allow default/implicit values derived from the asserting and relying parties.
`void`
`setQualifiedNameIDFormatsLookupStrategy(Function<ProfileRequestContext,Collection<String>> strategy)`
Set a lookup strategy for the Format values for which the use of the NameQualifier and SPNameQualifier attributes is defined to allow default/implicit values derived from the asserting and relying parties.
`void`
`setSignSOAPRequests(boolean flag)`
Set whether SOAP-based requests should be signed.
`void`
`setSignSOAPRequestsPredicate(Predicate<MessageContext> predicate)`
Set the predicate used to determine if SOAP-based requests should be signed.

### Methods inherited from class net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ArtifactAwareProfileConfiguration

`getArtifactConfiguration, isClientTLSArtifactRequests, isSignArtifactRequests, setArtifactConfiguration, setArtifactConfigurationLookupStrategy, setClientTLSArtifactRequests, setClientTLSArtifactRequestsPredicate, setSignArtifactRequests, setSignArtifactRequestsPredicate`

### Methods inherited from class net.shibboleth.idp.saml.saml2.profile.config.impl.AbstractSAML2ProfileConfiguration

`isEncryptionOptional, isEncryptNameIDs, isIgnoreRequestSignatures, setEncryptionOptional, setEncryptionOptionalPredicate, setEncryptNameIDs, setEncryptNameIDsPredicate, setIgnoreRequestSignatures, setIgnoreRequestSignaturesPredicate`

### Methods inherited from class net.shibboleth.idp.saml.profile.config.impl.AbstractSAMLProfileConfiguration

`getMessageHandler, isSignRequests, isSignResponses, setMessageDecorator, setMessageHandler, setMessageHandlerLookupStrategy, setSignRequests, setSignRequestsPredicate, setSignResponses, setSignResponsesPredicate`

### Methods inherited from class net.shibboleth.idp.profile.config.AbstractInterceptorAwareProfileConfiguration

`getInboundInterceptorFlows, getOutboundInterceptorFlows, setInboundInterceptorFlows, setInboundInterceptorFlowsLookupStrategy, setOutboundInterceptorFlows, setOutboundInterceptorFlowsLookupStrategy`

### Methods inherited from class net.shibboleth.profile.config.AbstractConditionalProfileConfiguration

`getActivationCondition, setActivationCondition`

### Methods inherited from class net.shibboleth.profile.config.AbstractProfileConfiguration

`equals, getDisallowedFeatures, getSecurityConfiguration, hashCode, isFeatureDisallowed, setDisallowedFeatures, setDisallowedFeaturesLookupStrategy, setSecurityConfiguration, setSecurityConfigurationLookupStrategy`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent

`setId`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent

`doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, 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.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface net.shibboleth.idp.profile.config.InterceptorAwareProfileConfiguration

`getInboundInterceptorFlows, getOutboundInterceptorFlows`

### Methods inherited from interface net.shibboleth.profile.config.ProfileConfiguration

`getDisallowedFeatures, getSecurityConfiguration, isFeatureDisallowed`

### Methods inherited from interface net.shibboleth.saml.saml2.profile.config.SAML2ProfileConfiguration

`isEncryptionOptional, isEncryptNameIDs, isIgnoreRequestSignatures`

### Methods inherited from interface net.shibboleth.saml.profile.config.SAMLArtifactConsumerProfileConfiguration

`isClientTLSArtifactRequests, isSignArtifactRequests`

### Methods inherited from interface net.shibboleth.saml.profile.config.SAMLProfileConfiguration

`getMessageHandler, isSignRequests, isSignResponses`

## Field Details

### PROFILE_COUNTER

@Nonnull @NotEmpty public static final String PROFILE_COUNTER
Name of profile counter.

See Also:
  - Constant Field Values

### signSOAPRequestsPredicate

@Nonnull private Predicate<MessageContext> signSOAPRequestsPredicate
Predicate used to determine if SOAP-based requests should be signed.

### clientTLSSOAPRequestsPredicate

@Nonnull private Predicate<MessageContext> clientTLSSOAPRequestsPredicate
Predicate used to determine if SOAP-based requests should use client TLS.

### qualifiedNameIDFormatsLookupStrategy

@Nonnull private Function<ProfileRequestContext,Collection<String>> qualifiedNameIDFormatsLookupStrategy
Lookup function to supply qualifiedNameIDFormats property.

## Constructor Details

### SingleLogoutProfileConfiguration

public SingleLogoutProfileConfiguration()
Constructor.

### SingleLogoutProfileConfiguration

protected SingleLogoutProfileConfiguration(@Nonnull @NotEmpty String profileId)
Constructor.

Parameters:
  `profileId` - unique ID for this profile

## Method Details

### isSignSOAPRequests

public boolean isSignSOAPRequests(@Nullable MessageContext messageContext)

Specified by:
  `isSignSOAPRequests` in interface `SingleLogoutProfileConfiguration`

### setSignSOAPRequests

public void setSignSOAPRequests(boolean flag)
Set whether SOAP-based requests should be signed.

Parameters:
  `flag` - flag to set
Since:
  4.0.0

### setSignSOAPRequestsPredicate

public void setSignSOAPRequestsPredicate(@Nonnull Predicate<MessageContext> predicate)
Set the predicate used to determine if SOAP-based requests should be signed.

Parameters:
  `predicate` - the predicate
Since:
  4.0.0

### isClientTLSSOAPRequests

public boolean isClientTLSSOAPRequests(@Nullable MessageContext messageContext)

Specified by:
  `isClientTLSSOAPRequests` in interface `SingleLogoutProfileConfiguration`

### setClientTLSSOAPRequests

public void setClientTLSSOAPRequests(boolean flag)
Set whether SOAP-based requests should use client TLS.

Parameters:
  `flag` - flag to set
Since:
  4.0.0

### setClientTLSSOAPRequestsPredicate

public void setClientTLSSOAPRequestsPredicate(@Nonnull Predicate<MessageContext> predicate)
Set the predicate used to determine if SOAP-based requests should use client TLS.

Parameters:
  `predicate` - the predicate
Since:
  4.0.0

### getQualifiedNameIDFormats

@Nonnull @NotLive public Collection<String> getQualifiedNameIDFormats(@Nullable ProfileRequestContext profileRequestContext)

Specified by:
  `getQualifiedNameIDFormats` in interface `SingleLogoutProfileConfiguration`

### setQualifiedNameIDFormats

public void setQualifiedNameIDFormats(@Nullable Collection<String> formats)
Set a collection of `NameID` Format values for which the use of the NameQualifier and SPNameQualifier attributes is defined to allow default/implicit values derived from the asserting and relying parties.

In the core standard, only the `NameIDType.PERSISTENT` and `NameIDType.TRANSIENT` Formats are defined in this manner. This setting identifies additional Formats that should be handled in this way.

Parameters:
  `formats` - additional Formats for which defaulting of qualifiers is permissable
Since:
  3.4.0

### setQualifiedNameIDFormatsLookupStrategy

public void setQualifiedNameIDFormatsLookupStrategy(@Nonnull Function<ProfileRequestContext,Collection<String>> strategy)
Set a lookup strategy for the Format values for which the use of the NameQualifier and SPNameQualifier attributes is defined to allow default/implicit values derived from the asserting and relying parties.

Parameters:
  `strategy` - lookup strategy
Since:
  3.4.0