Class SelectSubjectCanonicalizationFlow

  • All Implemented Interfaces:
    net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent, org.opensaml.profile.action.ProfileAction, Aware, MessageSource, MessageSourceAware, Action

    public class SelectSubjectCanonicalizationFlow
    extends net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction
    A canonicalization action that selects a canonicalization flow to invoke.

    This is the heart of the c14n processing sequence, and runs after the SubjectCanonicalizationContext has been fully populated. It uses the potential flows, and their associated activation conditions to decide how to proceed.

    This is a rare case in that the standard default event, EventIds.PROCEED_EVENT_ID, cannot be returned, because the action must either dispatch to a flow by name, or signal an error.

    Event:
    AuthnEventIds.NO_POTENTIAL_FLOW, Selected flow ID to execute
    Precondition:
    ProfileRequestContext.getSubcontext(SubjectCanonicalizationContext.class, false) != null
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.slf4j.Logger log
      Class logger.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doExecute​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.authn.context.SubjectCanonicalizationContext c14nContext)
      protected boolean doPreExecute​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.authn.context.SubjectCanonicalizationContext c14nContext)
      private net.shibboleth.idp.authn.SubjectCanonicalizationFlowDescriptor selectUnattemptedFlow​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.authn.context.SubjectCanonicalizationContext c14nContext)
      Select the first potential flow not found in the intermediate flows collection, and that is applicable to the context.
      • Methods inherited from class net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction

        applyTransforms, doExecute, doPreExecute, setLookupStrategy, setLowercase, setTransforms, setTrim, setUppercase
      • Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

        doExecute, execute, getMessage, getMessage, getMessage, 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, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
      • Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent

        destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
      • Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent

        initialize, isInitialized
    • Field Detail

      • log

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

      • SelectSubjectCanonicalizationFlow

        public SelectSubjectCanonicalizationFlow()
    • Method Detail

      • doPreExecute

        protected boolean doPreExecute​(@Nonnull
                                       org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                       @Nonnull
                                       net.shibboleth.idp.authn.context.SubjectCanonicalizationContext c14nContext)
        Overrides:
        doPreExecute in class net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction
      • doExecute

        protected void doExecute​(@Nonnull
                                 org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                 @Nonnull
                                 net.shibboleth.idp.authn.context.SubjectCanonicalizationContext c14nContext)
        Overrides:
        doExecute in class net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction
      • selectUnattemptedFlow

        @Nullable
        private net.shibboleth.idp.authn.SubjectCanonicalizationFlowDescriptor selectUnattemptedFlow​(@Nonnull
                                                                                                     org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                                                                                     @Nonnull
                                                                                                     net.shibboleth.idp.authn.context.SubjectCanonicalizationContext c14nContext)
        Select the first potential flow not found in the intermediate flows collection, and that is applicable to the context.
        Parameters:
        profileRequestContext - the current IdP profile request context
        c14nContext - the current c14n context
        Returns:
        an eligible flow, or null