Class ProcessLogoutInitiatorRequest
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.profile.AbstractAgentRequestAction
net.shibboleth.sp.profile.AbstractAgentAction
net.shibboleth.sp.profile.AbstractApplicationAction
net.shibboleth.sp.oidc.profile.impl.ProcessLogoutInitiatorRequest
- 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 ProcessLogoutInitiatorRequest
extends net.shibboleth.sp.profile.AbstractApplicationAction
Processes a request to potentially initiate a OIDC RP-Initiated logout by examining the input to recover
the required id_token information from the opaque portion of the session created by the token consumer
flow and store in a newly created
OIDCLogoutContext.
Assuming the opaque data is present and sufficient, it also creates a RelyingPartyContext
based on the identity of the original OP that issued the id_token that led to the session.
If the data sealer is enabled, the the id_token is first unsealed.
- Event:
EventIds.PROCEED_EVENT_ID,EventIds.INVALID_MESSAGE,EventIds.UNABLE_TO_DECODE,IdPEventIds.INVALID_RELYING_PARTY_CTX- Postcondition:
profileRequestContext.getSubcontext(OIDCLogoutContext.class) != null
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate net.shibboleth.shared.security.DataSealerOptional data sealer to use.private com.nimbusds.jwt.JWTThe id_token take from the data in the session.private final org.slf4j.LoggerClass logger.private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext> Creation strategy forRelyingPartyContext.private StringThe relying party name to base the inbound context on. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext) protected booleandoPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext) voidsetDataSealer(net.shibboleth.shared.security.DataSealer sealer) SetsDataSealerto use.voidsetRelyingPartyContextCreationStrategy(Function<org.opensaml.profile.context.ProfileRequestContext, net.shibboleth.profile.context.RelyingPartyContext> strategy) Set strategy to create theRelyingPartyContext.Methods inherited from class net.shibboleth.sp.profile.AbstractApplicationAction
ensureApplication, getApplicationMethods inherited from class net.shibboleth.sp.profile.AbstractAgentAction
ensureAgent, getAgentMethods inherited from class net.shibboleth.sp.profile.AbstractAgentRequestAction
ensureAgentRequestContext, getAgentRequestContext, setAgentRequestContextLookupStrategyMethods 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, doInitialize, 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. -
relyingPartyContextCreationStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,net.shibboleth.profile.context.RelyingPartyContext> relyingPartyContextCreationStrategyCreation strategy forRelyingPartyContext. -
idToken
@NonnullBeforeExec private com.nimbusds.jwt.JWT idTokenThe id_token take from the data in the session. -
relyingPartyId
The relying party name to base the inbound context on. -
dataSealer
@Nullable private net.shibboleth.shared.security.DataSealer dataSealerOptional data sealer to use.
-
-
Constructor Details
-
ProcessLogoutInitiatorRequest
public ProcessLogoutInitiatorRequest()Constructor.
-
-
Method Details
-
setRelyingPartyContextCreationStrategy
public void setRelyingPartyContextCreationStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext, net.shibboleth.profile.context.RelyingPartyContext> strategy) Set strategy to create theRelyingPartyContext.- Parameters:
strategy- creation strategy
-
doPreExecute
protected boolean doPreExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext) - Overrides:
doPreExecutein classnet.shibboleth.sp.profile.AbstractApplicationAction
-
doExecute
protected void doExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext) - Overrides:
doExecutein classorg.opensaml.profile.action.AbstractProfileAction