Class PreProcessLogoutMessage

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction, Aware, MessageSource, MessageSourceAware, Action

public class PreProcessLogoutMessage extends AbstractProfileAction
Profile action that performs initial analysis of a LogoutRequest or LogoutResponse to dispatch it for subsequent processing.

This action is essentially three decision states in one, using some custom events.

If the inbound message is a LogoutResponse then the event "IsLogoutResponse" is signaled.

If the inbound message is a LogoutRequest, then one of two events is signaled. If the request contains the Asynchronous extension, then the "IsLogoutRequestAsync" event is signaled. This also occurs, provided a particular option is enabled, if the request does not contain the extension but there is no SAML metadata available for the requester or the metadata contains no SingleLogoutService endpoints.

Finally, EventIds.PROCEED_EVENT_ID is the result if neither of the above applies.

Various standard events may occur if the message is missing or isn't an appropriate type.

Since:
4.2.0
Event:
IS_LOGOUT_RESPONSE, IS_LOGOUT_REQUEST_ASYNC, EventIds.PROCEED_EVENT_ID, EventIds.INVALID_PROFILE_CTX, EventIds.INVALID_MESSAGE
  • Field Details

    • IS_LOGOUT_RESPONSE

      @Nonnull public static final String IS_LOGOUT_RESPONSE
      Event to signal for a logout response.
      See Also:
    • IS_LOGOUT_REQUEST_ASYNC

      @Nonnull public static final String IS_LOGOUT_REQUEST_ASYNC
      Event to signal for a logout response.
      See Also:
    • log

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

      private boolean assumeAsync
      Assume asynchronous in absence of metadata.
    • metadataContextLookupStrategy

      @Nonnull private Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy
      Lookup strategy for metadata context.
  • Constructor Details

    • PreProcessLogoutMessage

      public PreProcessLogoutMessage()
      Constructor.
  • Method Details