Package net.shibboleth.idp.session.impl
Class UpdateSessionWithSPSession
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.session.impl.UpdateSessionWithSPSession
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,ProfileAction
,Aware
,MessageSource
,MessageSourceAware
,Action
public class UpdateSessionWithSPSession extends AbstractProfileAction
An action that establishes a record of an
SPSession
in an existing IdPSession
for the client.
The SPSession
to add is obtained using a strategy function injected into the action.
The existing session to modify is identified via a SessionContext
attached to the
ProfileRequestContext
.
An error interacting with the session layer will result in an EventIds.IO_ERROR
event.
- Event:
EventIds.PROCEED_EVENT_ID
,EventIds.INVALID_PROFILE_CTX
,EventIds.IO_ERROR
- Postcondition:
- If ProfileRequestContext.getSubcontext(SessionContext.class).getIdPSession() != null and a non-null SPSession is supplied by the strategy function, then the steps above are performed.
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.Logger
log
Class logger.private Function<ProfileRequestContext,SessionContext>
sessionContextLookupStrategy
Lookup function for SessionContext.private SessionContext
sessionCtx
Existing or newly created SessionContext.private SessionManager
sessionManager
SessionManager.private Function<ProfileRequestContext,SPSession>
spSessionCreationStrategy
A function that returns theSPSession
to add. -
Constructor Summary
Constructors Constructor Description UpdateSessionWithSPSession()
Constructor. -
Method Summary
Modifier and Type Method Description protected void
doExecute(ProfileRequestContext profileRequestContext)
protected void
doInitialize()
protected boolean
doPreExecute(ProfileRequestContext profileRequestContext)
void
setSessionContextLookupStrategy(Function<ProfileRequestContext,SessionContext> strategy)
Set the lookup strategy for the SessionContext to access.void
setSessionManager(SessionManager manager)
Set theSessionManager
to use.void
setSPSessionCreationStrategy(Function<ProfileRequestContext,SPSession> strategy)
Set the creation function to use to obtain theSPSession
to add.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, 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. -
spSessionCreationStrategy
A function that returns theSPSession
to add. -
sessionManager
SessionManager. -
sessionContextLookupStrategy
Lookup function for SessionContext. -
sessionCtx
Existing or newly created SessionContext.
-
-
Constructor Details
-
UpdateSessionWithSPSession
public UpdateSessionWithSPSession()Constructor.
-
-
Method Details
-
setSPSessionCreationStrategy
public void setSPSessionCreationStrategy(@Nonnull Function<ProfileRequestContext,SPSession> strategy)Set the creation function to use to obtain theSPSession
to add.- Parameters:
strategy
- creation function to use
-
setSessionManager
Set theSessionManager
to use.- Parameters:
manager
- session manager to use
-
setSessionContextLookupStrategy
public void setSessionContextLookupStrategy(@Nonnull Function<ProfileRequestContext,SessionContext> strategy)Set the lookup strategy for the SessionContext to access.- Parameters:
strategy
- lookup strategy
-
doInitialize
- Overrides:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
doPreExecute
- Overrides:
doPreExecute
in classAbstractConditionalProfileAction
-
doExecute
- Overrides:
doExecute
in classAbstractProfileAction
-