Two-factor authentication implementation in pure javascript. One-time password generator (HOTP/TOTP) with support for Google Authenticator.
Build Status Node.js >= 8.x MIT Licence
Preview
npm i totp.js
const TOTP = require('totp.js'); // generate a base32 secret key const key = TOTP.randomKey(); // 'GAXGGYT2OU2DEOJR' const totp = new TOTP(key); const code = totp.genOTP(); // '552179' totp.verify(code) // true // generate Google Authenticator supported URL totp.gaURL('handsome@totp.js', 'Totp.js') // 'otpauth://totp/handsome@totp.js?issuer=Totp.js&secret=GAXGGYT2OU2DEOJR' // OR const totp2 = new TOTP(TOTP.base32.encode('your key')); totp2.genOTP()
<script src="./dist/totp.min.js" /> <script> var key = TOTP.randomKey(); var totp = new TOTP(key); console.log(totp.genOTP()); </script>
Enjoy!
© MIT