Class SingleLogoutProfileConfiguration

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

public class SingleLogoutProfileConfiguration extends AbstractSAML2ArtifactConsumerProfileConfiguration implements SingleLogoutProfileConfiguration
Configuration support for SP SAML 2.0 Single Logout.
  • Field Details

    • 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.
    • asynchronousPredicate

      @Nonnull private Predicate<ProfileRequestContext> asynchronousPredicate
      Predicate used to determine whether requests should carry the Asynchronous extension.
    • 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
    • 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
    • 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
    • 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
    • isAsynchronous

      public boolean isAsynchronous(@Nullable ProfileRequestContext profileRequestContext)
      Get whether to include the Asynchronous extension in requests.

      Defaults to true.

      Specified by:
      isAsynchronous in interface SingleLogoutProfileConfiguration
      Parameters:
      profileRequestContext - current profile request context
      Returns:
      true iff the extension should be included in requests
    • setAsynchronous

      public void setAsynchronous(boolean flag)
      Set whether to include the Asynchronous extension in requests.
      Parameters:
      flag - flag to set
    • setAsynchronousPredicate

      public void setAsynchronousPredicate(@Nonnull Predicate<ProfileRequestContext> condition)
      Set a condition to determine whether to include the Asynchronous extension in requests.
      Parameters:
      condition - condition set set
    • getQualifiedNameIDFormats

      @Nonnull @NonnullElements @NotLive public Collection<String> getQualifiedNameIDFormats(@Nullable ProfileRequestContext profileRequestContext)
      Specified by:
      getQualifiedNameIDFormats in interface SingleLogoutProfileConfiguration
    • setQualifiedNameIDFormats

      public void setQualifiedNameIDFormats(@Nullable @NonnullElements 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
    • 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