Repository
Current version released
4 years ago
Versions
- v9.3.4Latest
- v9.3.3
- v9.3.2
- v9.3.1
- v9.3.0
- v9.2.4
- v9.2.3
- v9.2.2
- v9.2.1
- v9.2.0
- v9.1.5
- v9.1.4
- v9.1.3
- v9.1.2
- v9.1.1
- v9.1.0
- v9.0.2
- v9.0.1
- v9.0.0
- v9.0.0-beta.2
- v9.0.0-beta.1
- v9.0.0-beta.0
- v8.0.3
- v8.0.2
- v8.0.1
- v8.0.0
- v7.1.3
- v7.1.2
- v7.1.1
- v7.1.0
- v7.0.11
- v7.0.10
- v7.0.9
- v7.0.8
- v7.0.7
- v7.0.6
- v7.0.5
- v7.0.4
- v7.0.3
- v7.0.2
- v7.0.1
- v7.0.0
- v6.3.0
- v6.2.4
- v6.2.3
- v6.2.2
- v6.2.1
- v6.2.0
- v6.1.0
- v6.0.9
- v6.0.8
- v6.0.7
- v6.0.5
- v6.0.4
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v5.0.9
- v5.0.8
- v5.0.7
- v5.0.6
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.0
- v3.2.8
- v3.2.7
- v3.2.6
- v3.2.5
- v3.2.4
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.7
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.1
- v2.0.1
- v2.0.0
- v1.0.2
- v1.0.1
- v1.0.0
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': OTPAuth.Secret.fromB32('NB2W45DFOIZA')
});
// Generate TOTP token
let token = totp.generate();
// Validate TOTP token
let delta = totp.validate({
'token': token,
'window': 10
});
// Convert to Google Authenticator key URI
// otpauth://totp/ACME:AzureDiamond?issuer=ACME&secret=NB2W45DFOIZA&algorithm=SHA1&digits=6&period=30
let uri = totp.toString();
Browser
<script src="otpauth.min.js"></script>
<script>
// 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.