mirror of
https://github.com/hectorm/otpauth.git
synced 2026-05-07 20:12:27 +00:00
f5f102f43ac8164e53ecbb83e1afe9249d1ada34
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>
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.
Description
One Time Password (HOTP/TOTP) library for Node.js, Deno, Bun and browsers.
authauthenticatorbrowserbundenogoogle-authenticatorhotpjavascriptnodenode-jsnodejsotpotpauthsecuritytotptwo-factortwo-factor-authenticationtwo-steptwo-step-authentication
Readme
13 MiB
Languages
JavaScript
99%
HTML
1%
