Skip to main content
Deno 2 is finally here 🎉️
Learn more

Documentation License

NPM


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');

// Generate a random secret
let randomTOTP = new OTPAuth.TOTP();

// Specify a custom secret
let customTOTP = new OTPAuth.TOTP({
    'issuer': 'ACME',
    'label': 'AzureDiamond',
    'algorithm': 'SHA512',
    'digits': 8,
    'period': 20,
    'secret': new OTPAuth.Secret({
        'buffer': OTPAuth.Utils.b32.encode('NB2W45DFOIZA')
    })
});

// Convert to Google Authenticator key URI
console.log(customTOTP.toString());

// Generate token
console.log(customTOTP.generate());

Browser

<script src="otpauth.js"></script>
<script>
    var randomTOTP = new OTPAuth.TOTP();

    // Same as above...
</script>

For more information, see the documentation page.