Class VerifyChannelBindings

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction

public class VerifyChannelBindings extends AbstractProfileAction
Action that verifies two sets of ChannelBindings from two different ChannelBindingsContext objects obtained via lookup functions, by default from below the inbound message context and from below a SOAP11Context below the inbound message context.

If neither function supplies a non-empty ChannelBindingsContext, then there is no verification required, but if either one supplies a non-empty context, then a match must be achieved or an error event is signaled.

If verification is successful, then the resulting match is stored in a new ChannelBindingsContext object created from a lookup/creation function, by default below the outbound message context.

Event:
EventIds.PROCEED_EVENT_ID, SAMLEventIds.CHANNEL_BINDINGS_ERROR
Precondition:
ChannelBindingsContext objects to be returned from lookup functions must be populated.
Postcondition:
Upon successful verification, a ChannelBindingsContext object will be created as described.
  • Field Details

  • Constructor Details

    • VerifyChannelBindings

      public VerifyChannelBindings()
      Constructor.
  • Method Details

    • setChannelBindingsLookupStrategy1

      public void setChannelBindingsLookupStrategy1(@Nonnull Function<ProfileRequestContext,ChannelBindingsContext> strategy)
      Set the strategy used to locate the first ChannelBindingsContext to operate on.
      Parameters:
      strategy - lookup strategy
    • setChannelBindingsLookupStrategy2

      public void setChannelBindingsLookupStrategy2(@Nonnull Function<ProfileRequestContext,ChannelBindingsContext> strategy)
      Set the strategy used to locate the second ChannelBindingsContext to operate on.
      Parameters:
      strategy - lookup strategy
    • setChannelBindingsCreationStrategy

      public void setChannelBindingsCreationStrategy(@Nonnull Function<ProfileRequestContext,ChannelBindingsContext> strategy)
      Set the strategy used to create or locate the ChannelBindingsContext to save verified results in.
      Parameters:
      strategy - lookup/creation strategy
    • doPreExecute

      protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
      Called prior to execution, actions may override this method to perform pre-processing for a request.

      If false is returned, execution will not proceed, and the action should attach an EventContext to the context tree to signal how to continue with overall workflow processing.

      If returning successfully, the last step should be to return the result of the superclass version of this method.

      Overrides:
      doPreExecute in class AbstractProfileAction
      Parameters:
      profileRequestContext - the current IdP profile request context
      Returns:
      true iff execution should proceed
    • doExecute

      protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
      Performs this action. Actions must override this method to perform their work.
      Overrides:
      doExecute in class AbstractProfileAction
      Parameters:
      profileRequestContext - the current IdP profile request context