Package net.shibboleth.idp.authn.impl
Class SelectSubjectCanonicalizationFlow
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.idp.authn.AbstractSubjectCanonicalizationAction
net.shibboleth.idp.authn.impl.SelectSubjectCanonicalizationFlow
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,ProfileAction
,Aware
,MessageSource
,MessageSourceAware
,Action
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doExecute
(ProfileRequestContext profileRequestContext, SubjectCanonicalizationContext c14nContext) Performs this authentication action.protected boolean
doPreExecute
(ProfileRequestContext profileRequestContext, SubjectCanonicalizationContext c14nContext) Performs this c14n action's pre-execute step.selectUnattemptedFlow
(ProfileRequestContext profileRequestContext, 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, 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, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, setHttpServletRequest, setHttpServletRequestSupplier, setHttpServletResponse, setHttpServletResponseSupplier
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, 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.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger.
-
-
Constructor Details
-
SelectSubjectCanonicalizationFlow
public SelectSubjectCanonicalizationFlow()
-
-
Method Details
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull SubjectCanonicalizationContext c14nContext) Performs this c14n action's pre-execute step. Default implementation just returns true iff a subject is set.- Overrides:
doPreExecute
in classAbstractSubjectCanonicalizationAction
- Parameters:
profileRequestContext
- the current IdP profile request contextc14nContext
- the current subject canonicalization context- Returns:
- true iff execution should continue
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull SubjectCanonicalizationContext c14nContext) Performs this authentication action. Default implementation throws an exception.- Overrides:
doExecute
in classAbstractSubjectCanonicalizationAction
- Parameters:
profileRequestContext
- the current IdP profile request contextc14nContext
- the current subject canonicalization context
-
selectUnattemptedFlow
@Nullable private SubjectCanonicalizationFlowDescriptor selectUnattemptedFlow(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull 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 contextc14nContext
- the current c14n context- Returns:
- an eligible flow, or null
-