JSPM

  • Created
  • Published
  • Downloads 600683
  • Score
    100M100P100Q177015F
  • License MIT

One Time Password (HOTP/TOTP) library for Node.js and browser

Package Exports

  • otpauth

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (otpauth) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Last version Dependencies status Dev dependencies status NPM status


OTPAuth

One Time Password (HOTP/TOTP) library for Node.js and browser.

Installation

Install the module via npm.

npm install otpauth

Usage

Node.js

const OTPAuth = require('otpauth');

let totp = new OTPAuth.TOTP({
    issuer: 'ACME',
    label: 'AzureDiamond',
    algorithm: 'SHA1',
    digits: 6,
    period: 30,
    secret: 'NB2W45DFOIZA' // or "OTPAuth.Secret.fromB32('NB2W45DFOIZA')
});

// Generate TOTP token.
let token = totp.generate();

// Validate TOTP token.
let delta = totp.validate({
    token: token,
    window: 1
});

// Convert to Google Authenticator key URI.
//   otpauth://totp/ACME:AzureDiamond?issuer=ACME&secret=NB2W45DFOIZA&algorithm=SHA1&digits=6&period=30
let uri = totp.toString(); // or "OTPAuth.URI.stringify(totp)"

// Convert from Google Authenticator key URI.
let parsedTotp = OTPAuth.URI.parse(uri);

Browser

<script src="otpauth.min.js"></script>
<script>
    // Same as above...
</script>

Documentation

See the documentation page.

Supported hashing algorithms

In Node.js, the same algorithms as Crypto.createHmac function are supported, since it is used internally. In browsers, the SHA1, SHA256 and SHA512 algorithms are supported by using the Stanford Javascript Crypto Library.

License

MIT License © Héctor Molinero Fernández.