Skip to content

duosecurity/duo_api_nodejs

Repository files navigation

Overview

Build Status Issues Forks Stars License

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

Admin - https://www.duosecurity.com/docs/adminapi

Accounts - https://www.duosecurity.com/docs/accountsapi

Node Versions Tested Against:

  • 8
  • 10
  • 12
  • 14
  • 15

TLS 1.2 and 1.3 Support

Duo_api_nodejs uses the Node tls library and OpenSSL for TLS operations. All versions of Node receiving security support (14 and higher) use OpenSSL 1.1.1 which supports TLS 1.2 and 1.3.

Installing

Development:

$ git clone https://github.com/duosecurity/duo_api_nodejs.git
$ cd duo_api_nodejs
$ npm install

System:

$ npm install global @duosecurity/duo_api

Or run the following to add to your project:

$ npm install --save @duosecurity/duo_api

Using

$ node --interactive
> const duo_api = require('duo_api');
> const client = new duo_api.Client(ikey, skey, host);
> client.jsonApiCall('POST', '/auth/v2/preauth', { username: 'testuser' }, console.log);
> { response:
   { devices: [ [Object] ],
     result: 'auth',
     status_msg: 'Account is active' },
  stat: 'OK' }

Testing

$ npm run test
...
OK: 10 assertions (12ms)

Linting

$ npm run lint

> @duosecurity/[email protected] lint duo_api_nodejs
> eslint lib/ tests/

Support

Report any bugs, feature requests, etc. to us directly: [email protected]