Class CreateStateData

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.sp.profile.AbstractAgentRequestAction
net.shibboleth.sp.profile.AbstractAgentAction
net.shibboleth.sp.profile.AbstractApplicationAction
net.shibboleth.sp.oidc.profile.impl.CreateStateData
All Implemented Interfaces:
net.shibboleth.shared.component.Component, net.shibboleth.shared.component.DestructableComponent, net.shibboleth.shared.component.InitializableComponent, org.opensaml.profile.action.ProfileAction, Aware, MessageSource, MessageSourceAware, Action

public class CreateStateData extends net.shibboleth.sp.profile.AbstractApplicationAction
An action that looks up StateData using a configured lookup strategy and adds it to a StateDataContext obtained from the profile request context using a configured creation strategy.

In addition, the target URL is pulled out of the Agent input and added to the state data, if available, or if not, from any existing state data.

Event:
EventIds.INVALID_PROFILE_CTX
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private net.shibboleth.sp.ddf.DDF
    The stashed input DDF from the Agent.
    private final org.slf4j.Logger
    Class logger.
    private net.shibboleth.sp.context.StateDataContext
    The stashed state data context.
    private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.context.StateDataContext>
    Strategy used to locate or create the StateDataContext to populate.
    private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.state.StateData>
    Lookup strategy for the contents of the state token, as stored in a StateData or subclass thereof.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    doExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
    protected void
    protected boolean
    doPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
    void
    setStateDataContextCreationStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.context.StateDataContext> strategy)
    Sets the strategy used to create the StateDataContext.
    void
    setStateDataLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.state.StateData> strategy)
    Sets the lookup strategy for obtaining the StateData of the state token.

    Methods inherited from class net.shibboleth.sp.profile.AbstractApplicationAction

    ensureApplication, getApplication

    Methods inherited from class net.shibboleth.sp.profile.AbstractAgentAction

    ensureAgent, getAgent

    Methods inherited from class net.shibboleth.sp.profile.AbstractAgentRequestAction

    ensureAgentRequestContext, getAgentRequestContext, setAgentRequestContextLookupStrategy

    Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

    doExecute, execute, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy

    Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction

    getActivationCondition, setActivationCondition

    Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

    doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier

    Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

    checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

    initialize, isInitialized
  • Field Details

    • log

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

      @NonnullAfterInit private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.state.StateData> stateDataLookupStrategy
      Lookup strategy for the contents of the state token, as stored in a StateData or subclass thereof. This is augmented with other state data as defined in this action.
    • stateDataContextCreationStrategy

      @Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.context.StateDataContext> stateDataContextCreationStrategy
      Strategy used to locate or create the StateDataContext to populate.
    • stateDataContext

      @NonnullBeforeExec private net.shibboleth.sp.context.StateDataContext stateDataContext
      The stashed state data context.
    • input

      @NonnullBeforeExec private net.shibboleth.sp.ddf.DDF input
      The stashed input DDF from the Agent.
  • Constructor Details

    • CreateStateData

      public CreateStateData()
      Constructor.
  • Method Details

    • setStateDataContextCreationStrategy

      public void setStateDataContextCreationStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.context.StateDataContext> strategy)
      Sets the strategy used to create the StateDataContext.
      Parameters:
      strategy - creation strategy
    • doInitialize

      protected void doInitialize() throws net.shibboleth.shared.component.ComponentInitializationException
      Overrides:
      doInitialize in class net.shibboleth.shared.component.AbstractInitializableComponent
      Throws:
      net.shibboleth.shared.component.ComponentInitializationException
    • setStateDataLookupStrategy

      public void setStateDataLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.sp.state.StateData> strategy)
      Sets the lookup strategy for obtaining the StateData of the state token.
      Parameters:
      strategy - lookup strategy
    • doPreExecute

      protected boolean doPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
      Overrides:
      doPreExecute in class net.shibboleth.sp.profile.AbstractApplicationAction
    • doExecute

      protected void doExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
      Overrides:
      doExecute in class org.opensaml.profile.action.AbstractProfileAction