Class ExtractUsernameFromForm
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.authn.AbstractExtractionAction
net.shibboleth.idp.plugin.authn.webauthn.impl.ExtractUsernameFromForm
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
An action to populate a username into the
BaseWebAuthnContext.- Event:
AuthnEventIds.UNKNOWN_USERNAME- Precondition:
ProfileRequestContext.getSubcontext(AuthenticationContext.class) != null
- Postcondition:
BaseWebAuthnContext.getUsername() == null
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.LoggerClass logger.private StringParameter name for SSO bypass.private StringForm parameter name to carry username.private BaseWebAuthnContextContext to operate on.Strategy used to locate theBaseWebAuthnContextto operate on. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoExecute(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext) protected booleandoPreExecute(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext) private StringGets the username from a form submission.private StringprocessFormSubmission(ProfileRequestContext profileRequestContext, AuthenticationContext authenticationContext) Process the form submission: extract and transform the username, processes do-not-cache instruction.voidsetSSOBypassFieldName(String fieldName) Set the SSO bypass parameter name.voidsetUsernameFieldName(String name) Sets the name of the form field that carries the username.voidSet the strategy used to locate theBaseWebAuthnContextto operate on.Methods inherited from class net.shibboleth.idp.authn.AbstractExtractionAction
applyTransforms, setLowercase, setTransforms, setTrim, setUppercaseMethods inherited from class net.shibboleth.idp.authn.AbstractAuthenticationAction
doExecute, 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. -
webAuthnContextLookupStrategy
Strategy used to locate theBaseWebAuthnContextto operate on. -
usernameFieldName
Form parameter name to carry username. -
ssoBypassFieldName
Parameter name for SSO bypass. -
webAuthnContext
Context to operate on.
-
-
Constructor Details
-
ExtractUsernameFromForm
public ExtractUsernameFromForm()Constructor.
-
-
Method Details
-
setWebAuthnContextLookupStrategy
public void setWebAuthnContextLookupStrategy(@Nonnull Function<ProfileRequestContext, BaseWebAuthnContext> strategy) Set the strategy used to locate theBaseWebAuthnContextto operate on.- Parameters:
strategy- lookup strategy
-
setUsernameFieldName
Sets the name of the form field that carries the username.- Parameters:
name- field name
-
setSSOBypassFieldName
Set the SSO bypass parameter name.- Parameters:
fieldName- the SSO bypass parameter name
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext) - Overrides:
doPreExecutein classAbstractAuthenticationAction
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext) - Overrides:
doExecutein classAbstractAuthenticationAction
-
getUsernameFromForm
Gets the username from a form submission.- Returns:
- the raw submitted username
-
processFormSubmission
@Nullable private String processFormSubmission(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull AuthenticationContext authenticationContext) Process the form submission: extract and transform the username, processes do-not-cache instruction.- Parameters:
profileRequestContext- profile request contextauthenticationContext- authentication context- Returns:
- the submitted username, after applying any configured transforms
-