Class ExtractRemoteUser

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

public class ExtractRemoteUser extends AbstractExtractionAction
An action that extracts an asserted user identity from the incoming request, creates a UsernameContext, and attaches it to the AuthenticationContext.
Event:
EventIds.PROCEED_EVENT_ID, AuthnEventIds.NO_CREDENTIALS
Precondition:
ProfileRequestContext.getSubcontext(AuthenticationContext.class, false) != null
Postcondition:
If getHttpServletRequest() != null, the content of either the getRemoteUser() method or a designated header or attribute will be attached via a UsernameContext.
  • Field Details

    • log

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

      private boolean checkRemoteUser
      Whether to check REMOTE_USER for an identity. Defaults to true.
    • checkAttributes

      @Nonnull private Collection<String> checkAttributes
      List of request attributes to check for an identity.
    • checkHeaders

      @Nonnull private Collection<String> checkHeaders
      List of request headers to check for an identity.
  • Constructor Details

    • ExtractRemoteUser

      public ExtractRemoteUser()
      Constructor.
  • Method Details

    • setCheckRemoteUser

      public void setCheckRemoteUser(boolean flag)
      Set whether to check REMOTE_USER for an identity.
      Parameters:
      flag - value to set
    • setCheckAttributes

      public void setCheckAttributes(@Nullable Collection<String> attributes)
      Set the list of request attributes to check for an identity.
      Parameters:
      attributes - list of request attributes to check
    • setCheckHeaders

      public void setCheckHeaders(@Nullable Collection<String> headers)
      Set the list of request headers to check for an identity.
      Parameters:
      headers - list of request headers to check
    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractInitializableComponent
      Throws:
      ComponentInitializationException
    • 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