Class ExtractUsernamePasswordFromWSSToken

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

public class ExtractUsernamePasswordFromWSSToken
extends AbstractExtractionAction
An authentication stage that extracts a username/password from the WSS Username/Password attached to a SOAP message. As should be obvious, this assumes that the inbound message is a SOAP Envelope.
  • Field Details

    • log

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

      @Nullable private Envelope inboundMessage
      Inbound message to operate on.
  • Constructor Details

    • ExtractUsernamePasswordFromWSSToken

      public ExtractUsernamePasswordFromWSSToken()
  • Method Details

    • doPreExecute

      protected boolean doPreExecute​(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext)
      Performs this authentication action's pre-execute step. Default implementation just returns true.
      Overrides:
      doPreExecute in class AbstractAuthenticationAction
      Parameters:
      profileRequestContext - the current IdP profile request context
      authenticationContext - the current authentication context
      Returns:
      true iff execution should continue
    • doExecute

      protected void doExecute​(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext)
      Performs this authentication action. Default implementation throws an exception.
      Overrides:
      doExecute in class AbstractAuthenticationAction
      Parameters:
      profileRequestContext - the current IdP profile request context
      authenticationContext - the current authentication context
    • extractUsernamePassword

      @Nullable private Pair<String,​String> extractUsernamePassword​(@Nonnull Envelope message)
      Extracts a username/password from the inbound message.
      Parameters:
      message - the inbound message
      Returns:
      the username and password
    • getUsernameToken

      @Nullable private UsernameToken getUsernameToken​(@Nonnull Envelope message)
      Extracts the UsernameToken from the given Envelope.
      Parameters:
      message - the message from which the token should be extracted
      Returns:
      the extracted token