Class AbstractTOTPExtractionAction
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.idp.authn.AbstractAuthenticationAction
net.shibboleth.idp.plugin.authn.totp.impl.AbstractTOTPExtractionAction
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
- Direct Known Subclasses:
ExtractTOTPFromFormRequest,ExtractTOTPFromHeader
/**
An action that derives a username from a lookup strategy, a TOTP code from an arbitrary source,
creates a
TOTPContext, and attaches it to the AuthenticationContext.- Event:
EventIds.PROCEED_EVENT_ID,AuthnEventIds.NO_CREDENTIALS,AuthnEventIds.UNKNOWN_USERNAME,AuthnEventIds.INVALID_CREDENTIALS- Precondition:
ProfileRequestContext.getSubcontext(AuthenticationContext.class) != null
- Postcondition:
AuthenticationContext.getSubcontext(TOTPContext.class) != null
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.LoggerClass logger.private Function<AuthenticationContext,TOTPContext> Creation strategy for TOTP context.private Function<ProfileRequestContext,String> Lookup strategy for username to use in resolving token seeds. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoExecute(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext) protected abstract StringextractCode(HttpServletRequest httpRequest) Gets the token code from the HTTP request.voidSet the lookup strategy to locate/create theTOTPContext.voidSet the lookup strategy to use for the username to use in resolving token seeds.Methods inherited from class net.shibboleth.idp.authn.AbstractAuthenticationAction
doExecute, doPreExecute, doPreExecute, setAuthenticationContextLookupStrategyMethods 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. -
usernameLookupStrategy
Lookup strategy for username to use in resolving token seeds. -
totpContextCreationStrategy
Creation strategy for TOTP context.
-
-
Constructor Details
-
AbstractTOTPExtractionAction
public AbstractTOTPExtractionAction()Constructor.
-
-
Method Details
-
setUsernameLookupStrategy
Set the lookup strategy to use for the username to use in resolving token seeds.- Parameters:
strategy- lookup strategy
-
setTOTPContextCreationStrategy
public void setTOTPContextCreationStrategy(@Nonnull Function<AuthenticationContext, TOTPContext> strategy) Set the lookup strategy to locate/create theTOTPContext.- Parameters:
strategy- lookup/creation strategy
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext) - Overrides:
doExecutein classAbstractAuthenticationAction
-
extractCode
Gets the token code from the HTTP request.- Parameters:
httpRequest- current HTTP request- Returns:
- the token code, or null
-