All Classes and Interfaces
Class
Description
An abstract audit extractor function to extract values directly from the Duo context.
A base class for Duo 2FA authentication related actions.
A base class for authentication actions which call a Duo AuthAPI endpont.
Abstract base class for
DuoOIDCClient implementations.An extension of the
AbstractDuoAuditExtractor that allows extraction of claims inside the
Duo authentication token.Wrapper predicate for implementing access control check for admin flow.
Flow descriptor for Duo admin flow.
An audit extractor to pull out the attempted authentication flow ID from the current authentication context.
Constants to use for Duo audit logging fields stored in an
AuditContext.Wrapper for use of Duo.
A profile action to clear the passwordless guard cookie.
Finalization action that creates the passwordless guard cookkie based on the
canonical principal name after the flow completes.
The default implementation of the
DuoAdminClient for looking up information from the DuoAdmin API.A default cleanup hook for the DuoOIDC flow that handles both standard
and passwordless scenarios, with configuration flexibility for the deployer.
The default Duo Client registry for mapping a
DuoOIDCIntegration to either a new
or existing DuoOIDCClient (assumed thread-safe) singleton instance.Data wrapper for use with Duo OIDC integrations.
A
Predicate which determines whether a user/device should be allowed,
on subsequent requests, to leverage passwordless authentication.Constructive, pure, function that returns a redirect_uri from one of (ordered):
A pre-registered redirect_uri on the Duo integration,
DynamicDuoOIDCIntegration.getRegisteredRedirectURI().A client that supports retrieval of information from the Duo Admin API.
Handle a generic object returned from the response that will come from the Duo
AdminAPI.
Looks up the audience from the clientID in the
DuoOIDCIntegration inside the context.Constants defined in the Duo AuthAPI.
Describes the results of a Duo AuthAPI call, intended for use with a jackson
ObjectMapper.Implementation of the the Duo AuthApi /v2/auth endpoint.
Context that carries Duo factor and device or passcode to be used in validation.
An audit extractor to extract the Duo 2FA device ID (Key) from the auth_device inside the Duo token response.
An audit extractor to extract the Duo 2FA device name from the auth_device in the Duo token response.
Describes the results of an authentication attempt via the Duo AuthAPI, intended for use with a jackson
ObjectMapper.An exception to signal an error condition during execution of a Duo client.
An audit extractor to extract the Duo Client ID from the Duo integration.
Indicates an error during registry processing.
Represents a Duo device, intended for use with a jackson
ObjectMapper.An exception to signal a general Duo error.
An audit extractor to extract the Duo authentication factor from the Duo token response.
Principal based on the Duo authentication factor used for 2FA.
Describes the failure of a Duo AuthAPI call.
Represents a health check response from Duo's 2FA endpoint.
Builder to build
DuoHealthCheck.Required fields builder.
Status builder.
Represents part of the
DuoHealthCheck response.Factory bean customization for the Duo plugin.
Interface to a particular Duo AdminAPI or AuthAPI integration point.
Find the issuer from the
DuoOIDCIntegration.Find the nonce from the
DuoOIDCAuthenticationContext.Constants defined in the Duo OIDC Auth API.
Mutable Context that carries the Duo integration, request-response state, authorization code,
and Duo authentication result token.
MVC controller for managing Duo 2FA exchanges implemented as an
ExternalAuthentication
mechanism.A client for handling Duo OIDC 2FA interactions.
Exposes capabilities of a
DuoOIDCClient.Abstract factory for creating singleton
DuoOIDCClient instances.A registry of
DuoOIDCClients for DuoOIDCIntegrations.Interface to a particular Duo OIDC integration point.
PluginIdPModule implementation using only Nimbus OIDC/JWT handling.Details about the Duo OIDC 2FA plugin using only Nimbus OIDC/JWT handling.
PluginIdPModule implementation based on the Duo Web SDK v4.Details about the Duo OIDC 2FA plugin based on the Duo Web SDK v4.
Context that tracks username and signals usage of Duo in a passwordless mode.
Implementation of the the Duo AuthAPI /v2/preauth endpoint.
Describes the results of an pre-authentication attempt via the Duo AuthAPI.
Principal based on a Duo authentication.
An audit extractor to extract the Duo authentication reason from the Duo token response.
An audit extractor to extract the Duo redirect URI from the Duo context.
Indicates an error during registry processing.
An audit extractor to extract the Duo request state OAuth 2.0 parameter from the Duo context.
An audit extractor to extract the Duo response state OAuth 2.0 parameter from the Duo context.
Handle a generic object returned from the response that will come from the Duo
AuthAPI.
An Object Adaptor class for bridging between the Duo SDK implementation
and the internal
DuoOIDCClient interface.Abstract factory implementation for the
DuoSDKClientAdaptor.Helper methods for Duo 2FA.
An audit extractor to extract the Duo transaction ID from the Duo token response.
An audit extractor to extract the Duo username from the Duo context.
Find the authenticating principals username from the
DuoOIDCAuthenticationContext.Specialised
DuoOIDCIntegration that allows redirectURIs to be pre-registered or computed dynamically
against a list of allowed origins.Action to exchange the authorization code in the Duo 2FA response for a Duo id_token that describes the result
of 2FA.
An action that extracts the Duo factor and device or passcode from HTTP request headers into a
DuoAuthenticationContext, and attaches it to the AuthenticationContext.A simple audit extractor that allows a fixed string to be logged.
An action that checks the health of the Duo 2FA endpoint for the established Duo integration.
Administrative management of passwordless cookie by end-user or administrator.
A Duo client using the Nimbus OIDC library.
Abstract factory implementation for creating new
NimbusClients.Helper methods for working with Duo using Nimbus.
Wrapper for managing the passwordless guard cookie, allowing read/write with less explicit code,
error handling, etc.
An action to create (or lookup) and populate the
DuoOIDCAuthenticationContext
with the username, chosen DuoOIDCIntegration, and DuoOIDCClient appropriate for this request.A profile action to extract passwordless username from a sealed cookie and populate it
into an existing
DuoPasswordlessContext.This is a convoluted step that implements some of the cookie management logic
needed after second-factor use, but before the possible opt-in to passwordless.
Deprecated, for removal: This API element is subject to removal in a future version.
A token response, see RFC6749 section 5.1.
Builder to build
TokenResponse.Access token stage interface.
Build stage interface.
Token stage interface.
Token type stage interface.
A U2F token.
Builder used to build an instance of this class.
URL support class.
A model object to hold the response from the Users Duo Admin API.
The builder used to create a threadsafe instance of this class.
An action that checks for a
DuoAuthenticationContext and directly produces an
AuthenticationResult based on that identity by authenticating against the Duo
AuthAPI.Authentication action that validates the Duo response state parameter (which is required in the Duo flow)
matches that in the 2FA request.
A validation action that checks for a valid Duo authentication token and directly produces an
AuthenticationResult based on the identity described by the token.An action that checks for an
ExternalAuthenticationContext for a signaled event via the
ExternalAuthenticationContext.getAuthnError() method.Action that validates the claims of the Duo id_token using the supplied
ClaimsValidator.A cleanup hook that removes the 'nonce' parameter from the
DuoOIDCAuthenticationContext so
it could not be reused.Action to validate the JWT signature.
Class for getting and printing the version of the plugin.
A WebAuthn credential registered to a User.
Builder for this class.