# Uses of Class
net.shibboleth.idp.authn.AbstractAuthenticationAction

Packages that use AbstractAuthenticationAction
Package
Description
net.shibboleth.idp.authn
APIs related to the authentication of a subject.
net.shibboleth.idp.authn.impl
Implementation of various authentication actions.
net.shibboleth.idp.authn.proxy.impl
Classes implementing proxied authentication flows.
net.shibboleth.idp.saml.profile.impl
Actions common to SAML 1 and SAML 2 processing.
net.shibboleth.idp.saml.saml1.profile.impl
Profile processing actions related to SAML 1 messages.
net.shibboleth.idp.saml.saml2.profile.impl
Profile processing actions related to SAML 2 messages.
net.shibboleth.idp.session.impl
Implementations of session-related classes and interfaces.

## Uses of AbstractAuthenticationAction in net.shibboleth.idp.authn

Subclasses of AbstractAuthenticationAction in net.shibboleth.idp.authn
Modifier and Type
Class
Description
`class`
`AbstractExtractionAction`
A base class for authentication actions that extract usernames for subsequent use.
`class`
`AbstractValidationAction`
A base class for authentication related actions that validate credentials and produce an `AuthenticationResult`.

## Uses of AbstractAuthenticationAction in net.shibboleth.idp.authn.impl

Subclasses of AbstractAuthenticationAction in net.shibboleth.idp.authn.impl
Modifier and Type
Class
Description
`class`
`AbstractAuditingValidationAction`
Base class for validation actions that includes new audit logging support.
`class`
`ExtractRemoteUser`
An action that extracts an asserted user identity from the incoming request, creates a `UsernameContext`, and attaches it to the `AuthenticationContext`.
`class`
`ExtractUserAgentAddress`
An action that extracts the user-agent's IP address from the incoming request, creates a `UserAgentContext`, and attaches it to the `AuthenticationContext`.
`class`
`ExtractUserAgentIdentifier`
An action that extracts the user-agent's identifier from the incoming request, creates a `UserAgentContext`, and attaches it to the `AuthenticationContext`.
`class`
`ExtractUsernamePasswordFromBasicAuth`
/** An action that extracts a username and password from the HTTP `HttpHeaders.AUTHORIZATION` header, creates a `UsernamePasswordContext`, and attaches it to the `AuthenticationContext`.
`class`
`ExtractUsernamePasswordFromFormRequest`
An action that extracts a username and password from an HTTP form body or query string, creates a `UsernamePasswordContext`, and attaches it to the `AuthenticationContext`.
`class`
`ExtractUsernamePasswordFromWSSToken`
An authentication stage that extracts a username/password from the WSS Username/Password attached to a SOAP message.
`class`
`ExtractX509CertificateFromRequest`
An action that extracts an X.509 certificate from the standard servlet request attribute, creates a `CertificateContext`, and attaches it to the `AuthenticationContext`.
`class`
`FilterFlowsByForcedAuthn`
An authentication action that filters out potential authentication flows if the request requires forced authentication or max age behavior and the flows don't support forced authentication.
`class`
`FilterFlowsByNonBrowserSupport`
An authentication action that filters out potential authentication flows if the request requires non-browser support and the flows require a browser.
`class`
`FinalizeAuthentication`
An authentication action that runs after a completed authentication flow (or the reuse of an active result) and transfers information from other contexts into a `SubjectContext` child of the `ProfileRequestContext`.
`class`
`FinalizeMultiFactorAuthentication`
An authentication action that completes MFA by producing a final `AuthenticationResult` out of whatever constituent parts and pieces exist, by means of an overridable function, storing it in the `AuthenticationContext` and preparing a fresh `SubjectCanonicalizationContext` to operate on.
`class`
`InitializeRequestedPrincipalContext`
An action that creates an `RequestedPrincipalContext` and attaches it to the current `AuthenticationContext`, if the profile request context contains a `RelyingPartyContext` with an `AuthenticationProfileConfiguration` containing one or more default authentication methods.
`class`
`PopulateAuthenticationContext`
An action that populates an `AuthenticationContext` with the `AuthenticationFlowDescriptor` objects configured into the IdP, potential flows filtered by flow IDs from a lookup function.
`class`
`PopulateMultiFactorAuthenticationContext`
An action that creates and populates a `MultiFactorAuthenticationContext` with the set of transition rules to use for coordinating activity, the executing `AuthenticationFlowDescriptor` and with any active "factors" found, if an active result from the MFA flow is present in the `AuthenticationContext`.
`class`
`PrePopulateUsername`
An action to populate a username into a cleared `UsernamePasswordContext`, either from a form submission, a cookie, or an existing session to "prime" the login view.
`class`
`PreserveAuthenticationFlowState`
An action that extracts configured parameters from a servlet request and populates `AuthenticationContext.getAuthenticationStateMap()` with the data.
`class`
`SelectAuthenticationFlow`
An authentication action that selects an authentication flow to invoke, or re-uses an existing result for SSO.
`class`
`TransitionMultiFactorAuthentication`
An authentication action that acts as the driver regulating execution of transitions between MFA stages.
`class`
`ValidateCredentials`
An action that processes a list of `CredentialValidator` objects to produce an `AuthenticationResult`.
`class`
`ValidateExternalAuthentication`
An action that checks for an `ExternalAuthenticationContext` and directly produces an `AuthenticationResult` or records error state based on the contents.
`class`
`ValidateFunctionResult`
An action that executes a deployer-supplied function and produces an `AuthenticationResult` based on the function result.
`class`
`ValidateRemoteUser`
An action that checks for a `UsernameContext` and directly produces an `AuthenticationResult` based on that identity.
`class`
`ValidateUserAgentAddress`
An action that ensures that a user-agent address found within a `UserAgentContext` is within a given range and generates an `AuthenticationResult`.

## Uses of AbstractAuthenticationAction in net.shibboleth.idp.authn.proxy.impl

Subclasses of AbstractAuthenticationAction in net.shibboleth.idp.authn.proxy.impl
Modifier and Type
Class
Description
`class`
`ExtractDiscoveryResponse`
An action that extracts a discovery service result and copies it to the `AuthenticationContext`.

## Uses of AbstractAuthenticationAction in net.shibboleth.idp.saml.profile.impl

Subclasses of AbstractAuthenticationAction in net.shibboleth.idp.saml.profile.impl
Modifier and Type
Class
Description
`class`
`BaseAddAuthenticationStatementToAssertion`
Base class for actions that encode authentication information into a SAML 1 or SAML 2 statement.

## Uses of AbstractAuthenticationAction in net.shibboleth.idp.saml.saml1.profile.impl

Subclasses of AbstractAuthenticationAction in net.shibboleth.idp.saml.saml1.profile.impl
Modifier and Type
Class
Description
`class`
`AddAuthenticationStatementToAssertion`
Action that builds an `AuthenticationStatement` and adds it to an `Assertion` returned by a lookup strategy, by default in the `InOutOperationContext.getOutboundMessageContext()`.

## Uses of AbstractAuthenticationAction in net.shibboleth.idp.saml.saml2.profile.impl

Subclasses of AbstractAuthenticationAction in net.shibboleth.idp.saml.saml2.profile.impl
Modifier and Type
Class
Description
`class`
`AddAuthnRequest`
Action that creates an `AuthnRequest` and sets it as the message returned by `InOutOperationContext.getOutboundMessageContext()`.
`class`
`AddAuthnStatementToAssertion`
Action that builds an `AuthnStatement` and adds it to an `Assertion` returned by a lookup strategy, by default in the `InOutOperationContext.getOutboundMessageContext()`.
`class`
`ContinueSAMLAuthentication`
An action that checks for an `ExternalAuthenticationContext` for a signaled event via the `ExternalAuthenticationContext.getAuthnError()` method, and otherwise enforces the presence of an inbound SAML Response to process.
`class`
`ProcessRequestedAuthnContext`
An authentication action that processes the `RequestedAuthnContext` in a SAML 2 `AuthnRequest`, and populates a `RequestedPrincipalContext` with the corresponding information.
`class`
`ValidateSAMLAuthentication`
An action that produces an `AuthenticationResult` based on an inbound SAML 2.0 SSO response.

## Uses of AbstractAuthenticationAction in net.shibboleth.idp.session.impl

Subclasses of AbstractAuthenticationAction in net.shibboleth.idp.session.impl
Modifier and Type
Class
Description
`class`
`DetectIdentitySwitch`
An authentication action that checks for a mismatch between an existing session's identity and the result of a newly canonicalized subject (from a `SubjectCanonicalizationContext`).
`class`
`ExtractActiveAuthenticationResults`
An authentication action that populates a `AuthenticationContext` with the active `AuthenticationResult` objects found in a `SessionContext` that is a direct child of the `ProfileRequestContext`.
`class`
`UpdateSessionWithAuthenticationResult`
An authentication action that establishes a record of the `AuthenticationResult` in an `IdPSession` for the client, either by updating an existing session or creating a new one.