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.1</version>
</dependency>

See https://mvnrepository.com/artifact/com.duosecurity/duo-client/0.6.1 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.1-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
View code on GitHub
  • Owner

  • Contributors

    +25Github contributors
  • Categories

  • Products

    Duo
  • Programming Languages

    Java
  • License

    Other

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.