Skip to content

nomad-bank/totp-generator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

totp-generator

Test Code Climate Test Coverage npm Version

totp-generator lets you generate TOTP tokens from a TOTP key

How to use

const totp = require("totp-generator");

// Keys provided must be base32 strings, ie. only containing characters matching (A-Z, 2-7, =).
const token = totp("JBSWY3DPEHPK3PXP");

console.log(token); // prints a 6-digit time-based token based on provided key and current time

Default token settings

  • SHA-1
  • 30-second epoch interval
  • 6-digit tokens

Custom token settings

Settings can be provided as an optional second parameter:

const totp = require("totp-generator");

const token = totp("JBSWY3DPEHPK3PXP", { digits: 8 });
console.log(token); // prints an 8-digit token

const token = totp("JBSWY3DPEHPK3PXP", { algorithm: "SHA-512" });
console.log(token); // prints a token created using a different algorithm

const token = totp("JBSWY3DPEHPK3PXP", { period: 60 });
console.log(token); // prints a token using a 60-second epoch interval

const token = totp("JBSWY3DPEHPK3PXP", {
	digits: 8,
	algorithm: "SHA-512",
	period: 60,
});
console.log(token); // prints a token using all custom settings combined

What do I use this library for?

  • TOTP generation
  • E2E tests (where you need to login with 2-factor authentication)

About

Generate TOTP tokens from key

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%