Class EncryptAssertions

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction

public class EncryptAssertions
extends AbstractEncryptAction
Action that encrypts all assertions in a Response message obtained from a lookup strategy, by default the outbound message context.
Event:
EventIds.PROCEED_EVENT_ID, EventIds.UNABLE_TO_ENCRYPT
Postcondition:
All assertions in the response have been replaced with encrypted versions, or no changes are made.
  • Field Details

    • log

      @Nonnull private final org.slf4j.Logger log
      Class logger.
    • protocolMessageLog

      private org.slf4j.Logger protocolMessageLog
      Used to log protocol messages.
    • responseLookupStrategy

      @Nonnull private Function<ProfileRequestContext,​StatusResponseType> responseLookupStrategy
      Strategy used to locate the Response to operate on.
    • response

      @Nullable private Response response
      The message to operate on.
  • Constructor Details

    • EncryptAssertions

      public EncryptAssertions()
      Constructor.
  • Method Details

    • setResponseLookupStrategy

      public void setResponseLookupStrategy​(@Nonnull Function<ProfileRequestContext,​StatusResponseType> strategy)
      Set the strategy used to locate the Response to operate on.
      Parameters:
      strategy - strategy used to locate the Response to operate on
    • getApplicableParameters

      @Nullable protected EncryptionParameters getApplicableParameters​(@Nullable EncryptionContext ctx)
      Return the right set of parameters for the operation to be performed, or none if no encryption should occur.
      Specified by:
      getApplicableParameters in class AbstractEncryptAction
      Parameters:
      ctx - possibly null input context to pull parameters from
      Returns:
      the right parameter set, or null for none
    • 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 AbstractEncryptAction
      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