Skip to content

Duo OIDC-based two-factor authentication for Java web applications

License

Notifications You must be signed in to change notification settings

duosecurity/duo_universal_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Duo Universal Prompt Java Client

Build Status Issues Forks Stars License

This library allows a web developer to quickly add Duo's interactive, self-service, two-factor authentication to any Java web login form.

See our developer documentation at http://www.duosecurity.com/docs/duoweb for guidance on integrating Duo 2FA into your web application.

What's here:

  • duo-universal-sdk - The Duo SDK for interacting with the Duo Universal Prompt
  • duo-example - An example web application with Duo integrated

Usage

This library requires Java 8 or later (tested through Java 16) and uses Maven to build the JAR files.

Run mvn package to generate a JAR with dependencies, suitable for inclusion in a web application.

The Duo Universal Client for Java is available from Duo Security on Maven. Include the following in your dependency definitions:

<!-- https://mvnrepository.com/artifact/com.duosecurity/duo-universal-sdk -->
<dependency>
    <groupId>com.duosecurity</groupId>
    <artifactId>duo-universal-sdk</artifactId>
    <version>1.2.0</version>
</dependency>

See https://mvnrepository.com/artifact/com.duosecurity/duo-universal-sdk/1.2.0 for more details.

TLS 1.2 and 1.3 Support

Duo_universal_java uses the Java cryptography libraries for TLS operations. Both TLS 1.2 and 1.3 are supported by Java 8 and later versions.

Demo

Build

From the root directory run:

mvn clean install

Run

In order to run this project, ensure the values in application.properties are filled out with the values from the Duo Admin Panel (clientId, clientSecret, api.host, and redirect.uri)

From the root of the duo-example project run the following to start the server: mvn spring-boot:run

Navigate to http://localhost:8080 to see a mock user login form. Enter a Duo username and any password to initiate Duo 2FA.

Testing

From the root directory run:

mvn test

Linting

From the root directory run:

mvn checkstyle:check

Support

Please report any bugs, feature requests, or issues to us directly at [email protected].

Thank you for using Duo!

http://www.duosecurity.com/