Class PreProcessLogoutMessage
- 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.saml.saml2.profile.impl.PreProcessLogoutMessage
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class PreProcessLogoutMessage extends AbstractProfileAction
Profile action that performs initial analysis of aLogoutRequestorLogoutResponseto dispatch it for subsequent processing.This action is essentially three decision states in one, using some custom events.
If the inbound message is a
LogoutResponsethen the event "IsLogoutResponse" is signaled.If the inbound message is a
LogoutRequest, then one of two events is signaled. If the request contains theAsynchronousextension, then the "IsLogoutRequestAsync" event is signaled. This also occurs, provided a particular option is enabled, if the request does not contain the extension but there is no SAML metadata available for the requester or the metadata contains noSingleLogoutServiceendpoints.Finally,
EventIds.PROCEED_EVENT_IDis the result if neither of the above applies.Various standard events may occur if the message is missing or isn't an appropriate type.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanassumeAsyncAssume asynchronous in absence of metadata.static StringIS_LOGOUT_REQUEST_ASYNCEvent to signal for a logout response.static StringIS_LOGOUT_RESPONSEEvent to signal for a logout response.private org.slf4j.LoggerlogClass logger.private Function<ProfileRequestContext,SAMLMetadataContext>metadataContextLookupStrategyLookup strategy for metadata context.
-
Constructor Summary
Constructors Constructor Description PreProcessLogoutMessage()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoExecute(ProfileRequestContext profileRequestContext)protected booleandoPreExecute(ProfileRequestContext profileRequestContext)voidsetAssumeAsynchronousLogout(boolean flag)Sets whether to treat logout requests as asynchronous (not requiring a response) if no metadata is available or lacks endpoints.voidsetMetadataContextLookupStrategy(Function<ProfileRequestContext,SAMLMetadataContext> strategy)Set the lookup strategy for theSAMLMetadataContext.-
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 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 Detail
-
IS_LOGOUT_RESPONSE
@Nonnull public static final String IS_LOGOUT_RESPONSE
Event to signal for a logout response.- See Also:
- Constant Field Values
-
IS_LOGOUT_REQUEST_ASYNC
@Nonnull public static final String IS_LOGOUT_REQUEST_ASYNC
Event to signal for a logout response.- See Also:
- Constant Field Values
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
assumeAsync
private boolean assumeAsync
Assume asynchronous in absence of metadata.
-
metadataContextLookupStrategy
@Nonnull private Function<ProfileRequestContext,SAMLMetadataContext> metadataContextLookupStrategy
Lookup strategy for metadata context.
-
-
Method Detail
-
setAssumeAsynchronousLogout
public void setAssumeAsynchronousLogout(boolean flag)
Sets whether to treat logout requests as asynchronous (not requiring a response) if no metadata is available or lacks endpoints.Defaults to false.
- Parameters:
flag- what to set
-
setMetadataContextLookupStrategy
public void setMetadataContextLookupStrategy(@Nonnull Function<ProfileRequestContext,SAMLMetadataContext> strategy)Set the lookup strategy for theSAMLMetadataContext.- Parameters:
strategy- lookup strategy
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)- Overrides:
doPreExecutein classAbstractConditionalProfileAction
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)- Overrides:
doExecutein classAbstractProfileAction
-
-