

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 randomTOTP = new OTPAuth.TOTP();
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')
})
});
console.log(customTOTP.toString());
console.log(customTOTP.generate());
Browser
<script src="otpauth.js"></script>
<script>
var randomTOTP = new OTPAuth.TOTP();
</script>
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.
Documentation
See the documentation page.