Class InitializeLogoutRequest
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.sp.oidc.profile.impl.InitializeLogoutRequest
- All Implemented Interfaces:
net.shibboleth.shared.component.Component,net.shibboleth.shared.component.DestructableComponent,net.shibboleth.shared.component.InitializableComponent,org.opensaml.profile.action.ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class InitializeLogoutRequest
extends net.shibboleth.idp.profile.AbstractProfileAction
An action that creates an
OIDCLogoutRequest shell to populate in future steps,
and sets it to the outbound message context.
When creating the shell, the logout endpoint of the OpenID Provider is resolved, typically from metadata.. If no metadata is found, or the logout endpoint is not set, an error event will be emitted. If there is nowhere to send the request, there is no point in trying to build it.
- Event:
EventIds.PROCEED_EVENT_ID,IdPEventIds.INVALID_PROFILE_CONFIG,OidcEventIds.MISSING_END_SESSION_ENDPOINT- Postcondition:
- Add an
OIDCLogoutRequestas the message of the outbound context.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.LoggerClass logger.Strategy to find the logout endpoint.private org.opensaml.messaging.context.MessageContextThe stashed outbound message context.private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext> Strategy function for access toRelyingPartyContext.private StringOptional RP name for logging. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext) protected voidprotected booleandoPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext) voidsetLogoutEndpointLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext, URI> strategy) Set the strategy used to locate the logout endpoint URI.voidsetRelyingPartyContextLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext, net.shibboleth.profile.context.RelyingPartyContext> strategy) Set lookup strategy forRelyingPartyContext.Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction
doExecute, execute, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategyMethods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationConditionMethods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplierMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
relyingPartyContextLookupStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext> relyingPartyContextLookupStrategyStrategy function for access toRelyingPartyContext. -
logoutEndpointLookupStrategy
@NonnullAfterInit private Function<org.opensaml.profile.context.ProfileRequestContext,URI> logoutEndpointLookupStrategyStrategy to find the logout endpoint. Typically taken from the OP's metadata, but can come via other means. -
outMessageContext
@NonnullBeforeExec private org.opensaml.messaging.context.MessageContext outMessageContextThe stashed outbound message context. -
relyingPartyId
Optional RP name for logging.
-
-
Constructor Details
-
InitializeLogoutRequest
public InitializeLogoutRequest()Constructor.
-
-
Method Details
-
doInitialize
protected void doInitialize() throws net.shibboleth.shared.component.ComponentInitializationException- Overrides:
doInitializein classnet.shibboleth.shared.component.AbstractInitializableComponent- Throws:
net.shibboleth.shared.component.ComponentInitializationException
-
setLogoutEndpointLookupStrategy
public void setLogoutEndpointLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext, URI> strategy) Set the strategy used to locate the logout endpoint URI.- Parameters:
strategy- the strategy.
-
setRelyingPartyContextLookupStrategy
public void setRelyingPartyContextLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext, net.shibboleth.profile.context.RelyingPartyContext> strategy) Set lookup strategy forRelyingPartyContext.- Parameters:
strategy- lookup strategy
-
doPreExecute
protected boolean doPreExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext) - Overrides:
doPreExecutein classorg.opensaml.profile.action.AbstractConditionalProfileAction
-
doExecute
protected void doExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext) - Overrides:
doExecutein classorg.opensaml.profile.action.AbstractProfileAction
-