public class ProcessLogoutRequest extends AbstractProfileAction
LogoutRequest by resolving matching sessions, and destroys them,
populating the associated SPSession objects (excepting the one initiating the logout) into a
LogoutContext.
A SubjectContext is also populated. If and only if a single IdPSession is resolved,
a SessionContext is also populated.
Each SPSession is also assigned a unique number and inserted into the map
returned by LogoutContext.getKeyedSessionMap().
EventIds.PROCEED_EVENT_ID, EventIds.INVALID_PROFILE_CTX, EventIds.INVALID_MESSAGE, EventIds.IO_ERROR, SAMLEventIds.SESSION_NOT_FOUNDIdPSession was found, then a SubjectContext and LogoutContext will be populated., If a single IdPSession was found, then a SessionContext will be populated.| Modifier and Type | Field and Description |
|---|---|
private org.slf4j.Logger |
log
Class logger.
|
private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.LogoutContext> |
logoutContextCreationStrategy
Creation/lookup function for LogoutContext.
|
private org.opensaml.saml.saml2.core.LogoutRequest |
logoutRequest
LogoutRequest to process.
|
private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.core.LogoutRequest> |
logoutRequestLookupStrategy
Lookup strategy for
LogoutRequest to process. |
private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.SessionContext> |
sessionContextCreationStrategy
Creation/lookup function for SessionContext.
|
private net.shibboleth.idp.session.SessionManager |
sessionManager
Session manager.
|
private net.shibboleth.idp.session.SessionResolver |
sessionResolver
Session resolver.
|
private Function<org.opensaml.profile.context.ProfileRequestContext,CriteriaSet> |
sessionResolverCriteriaStrategy
Function to return
CriteriaSet to give to session resolver. |
private Function<org.opensaml.profile.context.ProfileRequestContext,SubjectContext> |
subjectContextCreationStrategy
Creation/lookup function for SubjectContext.
|
| Constructor and Description |
|---|
ProcessLogoutRequest()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
doExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext) |
protected void |
doInitialize() |
protected boolean |
doPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext) |
private boolean |
sessionMatches(net.shibboleth.idp.session.IdPSession session)
Check if the session contains a
SAML2SPSession with the appropriate service ID and SessionIndex. |
private boolean |
sessionMatches(net.shibboleth.idp.session.SPSession session)
Check if the
SPSession has the appropriate service ID and SessionIndex. |
void |
setLogoutContextCreationStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.LogoutContext> strategy)
Set the creation/lookup strategy for the
LogoutContext to populate. |
void |
setLogoutRequestLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.core.LogoutRequest> strategy)
Set the lookup strategy for the
LogoutRequest to process. |
void |
setSessionContextCreationStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.SessionContext> strategy)
Set the creation/lookup strategy for the
SessionContext to populate. |
void |
setSessionManager(net.shibboleth.idp.session.SessionManager manager)
Set the
SessionManager to use. |
void |
setSessionResolver(net.shibboleth.idp.session.SessionResolver resolver)
Set the
SessionResolver to use. |
void |
setSessionResolverCriteriaStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,CriteriaSet> strategy)
Set the strategy for building the
CriteriaSet to feed into the SessionResolver. |
void |
setSubjectContextCreationStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,SubjectContext> strategy)
Set the creation/lookup strategy for the
SubjectContext to populate. |
doExecute, execute, getMessage, getMessage, getMessage, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategygetActivationCondition, setActivationConditiondoPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponsedestroy, doDestroy, initialize, isDestroyed, isInitializedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinitialize, isInitialized@Nonnull private final org.slf4j.Logger log
@NonnullAfterInit private net.shibboleth.idp.session.SessionResolver sessionResolver
@NonnullAfterInit private net.shibboleth.idp.session.SessionManager sessionManager
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,SubjectContext> subjectContextCreationStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.SessionContext> sessionContextCreationStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.LogoutContext> logoutContextCreationStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,CriteriaSet> sessionResolverCriteriaStrategy
CriteriaSet to give to session resolver.@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.core.LogoutRequest> logoutRequestLookupStrategy
LogoutRequest to process.@Nullable private org.opensaml.saml.saml2.core.LogoutRequest logoutRequest
public void setSessionResolver(@Nonnull net.shibboleth.idp.session.SessionResolver resolver)
SessionResolver to use.resolver - session resolver to usepublic void setSessionManager(@Nonnull net.shibboleth.idp.session.SessionManager manager)
SessionManager to use.manager - session manager to usepublic void setSubjectContextCreationStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,SubjectContext> strategy)
SubjectContext to populate.strategy - creation/lookup strategypublic void setSessionContextCreationStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.SessionContext> strategy)
SessionContext to populate.strategy - creation/lookup strategypublic void setLogoutContextCreationStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.idp.session.context.LogoutContext> strategy)
LogoutContext to populate.strategy - creation/lookup strategypublic void setSessionResolverCriteriaStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,CriteriaSet> strategy)
CriteriaSet to feed into the SessionResolver.strategy - building strategypublic void setLogoutRequestLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.core.LogoutRequest> strategy)
LogoutRequest to process.strategy - lookup strategyprotected void doInitialize()
throws ComponentInitializationException
doInitialize in class AbstractInitializableComponentComponentInitializationExceptionprotected boolean doPreExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
doPreExecute in class org.opensaml.profile.action.AbstractConditionalProfileActionprotected void doExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
doExecute in class org.opensaml.profile.action.AbstractProfileActionprivate boolean sessionMatches(@Nonnull net.shibboleth.idp.session.IdPSession session)
SAML2SPSession with the appropriate service ID and SessionIndex.session - IdPSession to checkSPSessions includes one applicable to the logout requestprivate boolean sessionMatches(@Nonnull net.shibboleth.idp.session.SPSession session)
SPSession has the appropriate service ID and SessionIndex.session - SPSession to checkSPSession directly matches the logout requestCopyright © 1999–2017 Shibboleth Consortium. All rights reserved.