Skip to content

duosecurity/duo_client_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

Build Status Issues Forks Stars License

duo_client - Demonstration client to call Duo API methods with Java.

Tested Against Java Versions:

  • 8
  • 11
  • 17

TLS 1.2 and 1.3 Support

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

Duo Auth API

The Duo Auth API provides a low-level API for adding strong two-factor authentication to applications that cannot directly display rich web content.

For more information see the Duo Auth API guide:

https://www.duosecurity.com/docs/authapi

Duo Admin API

The Duo Admin API provides programmatic access to the administrative functionality of Duo Security's two-factor authentication platform. This feature is not available with all Duo accounts.

For more information see the Duo Admin API guide:

http://www.duosecurity.com/docs/adminapi

Duo Accounts API

The Duo Accounts API allows a parent account to create, manage, and delete other Duo customer accounts. This feature is not available with all Duo accounts.

For more information see the Duo Accounts API guide:

http://www.duosecurity.com/docs/accountsapi

Usage

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


<!-- https://mvnrepository.com/artifact/com.duosecurity/duo-client -->
<dependency>
    <groupId>com.duosecurity</groupId>
    <artifactId>duo-client</artifactId>
    <version>0.6.2</version>
</dependency>

See https://mvnrepository.com/artifact/com.duosecurity/duo-client/0.6.2 for more details.

Using the Example

There is an example in /duo-example-admin Create an Admin API application in your Duo Admin Panel. To set the minimum permissions, under your API's 'Permissions', check the three boxes that start with "Grant read ...".

$ java -jar duo-example-admin-0.6.2-jar-with-dependencies.jar -host <host> -ikey <ikey> -skey <skey>

If successful, the console will print the users and authentication attempts.

Testing

$ mvn test

Linting

$ mvn checkstyle:check