Class CheckClientJWTDecryptionConfiguration
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.oidc.security.impl.CheckClientJWTDecryptionConfiguration
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
An action that uses a
OIDCClientInformation to verify the encryption parameters of an incoming encrypted JWT
are compliant with configuration in the client metadata.-
Field Summary
FieldsModifier and TypeFieldDescriptionFunction that looks up client information from the given profile context.private Function<OIDCClientInformation,String> A lookup function for the data encryption algorithm in the client metadata.private EncryptedJWTThe extracted encrypted JWT that is to be processed.private booleanWhether encryption is optional.private Predicate<ProfileRequestContext>Predicate to determine how to proceed if JWT token was not encrypted.private StringEvent identifier to publish if token parameters are not compliant with the configuration.private Function<ProfileRequestContext,JWT> Function that looks up an encrypted JWT token from the given profile context to validate .private Function<OIDCClientInformation,String> A lookup function for the key transport algorithm in the client metadata.private final org.slf4j.LoggerLogger. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoExecute(ProfileRequestContext profileRequestContext) protected voidprotected booleandoPreExecute(ProfileRequestContext profileRequestContext) voidSet the lookup strategy to locate the client information.voidSet the strategy used to look up the data encryption algorithm in the client metadata.voidSets the condition to apply to determine how to proceed if encryption parameter resolution fails.voidSets the event identifier to publish if token parameters are not compliant with the configuration.voidSet the strategy used to look up aJWT.voidSet the strategy used to look up the data encryption algorithm in the client metadata.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 logLogger. -
jwtTokenLookupStrategy
Function that looks up an encrypted JWT token from the given profile context to validate . -
encryptionOptionalPredicate
Predicate to determine how to proceed if JWT token was not encrypted. -
clientInformationLookupStrategy
@NonnullAfterInit private Function<ProfileRequestContext,OIDCClientInformation> clientInformationLookupStrategyFunction that looks up client information from the given profile context. -
dataEncryptionAlgorithmLookupStrategy
@NonnullAfterInit private Function<OIDCClientInformation,String> dataEncryptionAlgorithmLookupStrategyA lookup function for the data encryption algorithm in the client metadata. -
keyTransportEncryptionAlgorithmLookupStrategy
@NonnullAfterInit private Function<OIDCClientInformation,String> keyTransportEncryptionAlgorithmLookupStrategyA lookup function for the key transport algorithm in the client metadata. -
errorEventId
Event identifier to publish if token parameters are not compliant with the configuration. -
encryptedJwt
The extracted encrypted JWT that is to be processed. -
encryptionOptional
private boolean encryptionOptionalWhether encryption is optional.
-
-
Constructor Details
-
CheckClientJWTDecryptionConfiguration
public CheckClientJWTDecryptionConfiguration()
-
-
Method Details
-
setJwtTokenLookupStrategy
Set the strategy used to look up aJWT.- Parameters:
strategy- lookup strategy
-
setClientInformationLookupStrategy
public void setClientInformationLookupStrategy(@Nonnull Function<ProfileRequestContext, OIDCClientInformation> strategy) Set the lookup strategy to locate the client information.- Parameters:
strategy- the strategy.
-
setDataEncryptionAlgorithmLookupStrategy
public void setDataEncryptionAlgorithmLookupStrategy(@Nonnull Function<OIDCClientInformation, String> strategy) Set the strategy used to look up the data encryption algorithm in the client metadata.- Parameters:
strategy- lookup strategy
-
setKeyTransportEncryptionAlgorithmLookupStrategy
public void setKeyTransportEncryptionAlgorithmLookupStrategy(@Nonnull Function<OIDCClientInformation, String> strategy) Set the strategy used to look up the data encryption algorithm in the client metadata.- Parameters:
strategy- lookup strategy
-
setEncryptionOptionalPredicate
Sets the condition to apply to determine how to proceed if encryption parameter resolution fails.- Parameters:
condition- condition to set
-
setErrorEventId
Sets the event identifier to publish if token parameters are not compliant with the configuration.- Parameters:
id- the identifier to set
-
doInitialize
- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
- Overrides:
doPreExecutein classAbstractConditionalProfileAction
-
doExecute
- Overrides:
doExecutein classAbstractProfileAction
-