Class AttributeQueryProfileConfiguration

All Implemented Interfaces:
InterceptorAwareProfileConfiguration, SAMLProfileConfiguration, AttributeQueryProfileConfiguration, AttributeResolvingProfileConfiguration, ConditionalProfileConfiguration, ProfileConfiguration, SAMLArtifactAwareProfileConfiguration, SAMLArtifactConsumerProfileConfiguration, SAMLAssertionProducingProfileConfiguration, SAMLProfileConfiguration, AttributeQueryProfileConfiguration, SAML2AssertionProducingProfileConfiguration, SAML2ProfileConfiguration, Component, DestructableComponent, IdentifiableComponent, IdentifiedComponent, InitializableComponent

public class AttributeQueryProfileConfiguration extends AbstractSAML2AssertionProducingProfileConfiguration implements AttributeQueryProfileConfiguration
Configuration support for IdP SAML 2.0 attribute query profile.
  • Field Details

    • PROFILE_COUNTER

      @Nonnull @NotEmpty public static final String PROFILE_COUNTER
      Name of profile counter.
      See Also:
    • randomizeFriendlyNamePredicate

      @Nonnull private Predicate<ProfileRequestContext> randomizeFriendlyNamePredicate
      Whether the FriendlyName attribute should be randomized when encoding Attributes.
    • requestedIdPAttributeNamesLookupStrategy

      @Nonnull private Function<ProfileRequestContext,Collection<String>> requestedIdPAttributeNamesLookupStrategy
      Lookup strategy for requested IdP attribute names to pass into resolver.
    • attributeRecipientGroupIDLookupStrategy

      @Nonnull private Function<ProfileRequestContext,String> attributeRecipientGroupIDLookupStrategy
      Lookup strategy for attribute recipient group ID.
    • 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.
  • Constructor Details

    • AttributeQueryProfileConfiguration

      public AttributeQueryProfileConfiguration()
      Constructor.
    • AttributeQueryProfileConfiguration

      protected AttributeQueryProfileConfiguration(@Nonnull @NotEmpty String profileId)
      Constructor.
      Parameters:
      profileId - unique ID for this profile
  • Method Details

    • isRandomizeFriendlyName

      public boolean isRandomizeFriendlyName(@Nullable ProfileRequestContext profileRequestContext)
      Gets whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.
      Specified by:
      isRandomizeFriendlyName in interface AttributeQueryProfileConfiguration
      Parameters:
      profileRequestContext - current profile request context
      Returns:
      true iff the FriendlyName should be randomized
    • setRandomizeFriendlyName

      public void setRandomizeFriendlyName(boolean flag)
      Set whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.
      Parameters:
      flag - flag to set
      Since:
      5.1.0
    • setRandomizeFriendlyNamePredicate

      public void setRandomizeFriendlyNamePredicate(@Nonnull Predicate<ProfileRequestContext> condition)
      Set condition to determine whether to randomize/perturb the FriendlyName attribute when encoding SAML 2.0 Attributes to enable probing of invalid behavior by relying parties.
      Parameters:
      condition - condition to set
      Since:
      5.1.0
    • isResolveAttributes

      public boolean isResolveAttributes(@Nullable ProfileRequestContext profileRequestContext)
      Specified by:
      isResolveAttributes in interface AttributeResolvingProfileConfiguration
    • getRequestedIdPAttributeNames

      @Nonnull @Unmodifiable @NotLive public Collection<String> getRequestedIdPAttributeNames(@Nullable ProfileRequestContext profileRequestContext)
      Specified by:
      getRequestedIdPAttributeNames in interface AttributeResolvingProfileConfiguration
    • setRequestedIdPAttributeNames

      public void setRequestedIdPAttributeNames(@Nullable Collection<String> names)
      Set IdPAttribute names to resolve (if resolving attributes).
      Parameters:
      names - IdPAttribute names to resolve
      Since:
      5.2.0
    • setRequestedIdPAttributeNamesLookupStrategy

      public void setRequestedIdPAttributeNamesLookupStrategy(@Nonnull Function<ProfileRequestContext,Collection<String>> strategy)
      Lookup strategy for IdPAttribute names to resolve (if resolving attributes).
      Parameters:
      strategy - lookup strategy
      Since:
      5.2.0
    • getAttributeRecipientGroupID

      @Nullable public String getAttributeRecipientGroupID(@Nullable ProfileRequestContext profileRequestContext)
      Specified by:
      getAttributeRecipientGroupID in interface AttributeResolvingProfileConfiguration
    • setAttributeRecipientGroupID

      public void setAttributeRecipientGroupID(@Nullable String groupID)
      Set the group of services for which attributes are being resolved.
      Parameters:
      groupID - group identifier
      Since:
      5.2.0
    • setAttributeRecipientGroupIDLookupStrategy

      public void setAttributeRecipientGroupIDLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)
      Set the lookup strategy for the group of services for which attributes are being resolved.
      Parameters:
      strategy - lookup strategy
      Since:
      5.2.0
    • isSignSOAPRequests

      public boolean isSignSOAPRequests(@Nullable MessageContext messageContext)
      Specified by:
      isSignSOAPRequests in interface AttributeQueryProfileConfiguration
    • setSignSOAPRequests

      public void setSignSOAPRequests(boolean flag)
      Set whether SOAP-based requests should be signed.
      Parameters:
      flag - flag to set
      Since:
      5.2.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:
      5.2.0
    • isClientTLSSOAPRequests

      public boolean isClientTLSSOAPRequests(@Nullable MessageContext messageContext)
      Specified by:
      isClientTLSSOAPRequests in interface AttributeQueryProfileConfiguration
    • setClientTLSSOAPRequests

      public void setClientTLSSOAPRequests(boolean flag)
      Set whether SOAP-based requests should use client TLS.
      Parameters:
      flag - flag to set
      Since:
      5.2.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:
      5.2.0