Skip to content

Instantly share code, notes, and snippets.

@sitnin
Last active August 7, 2020 18:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sitnin/d6549529c591bcac98c9245e75c824f2 to your computer and use it in GitHub Desktop.
Save sitnin/d6549529c591bcac98c9245e75c824f2 to your computer and use it in GitHub Desktop.
// npm install otplib
const authenticator = require('@otplib/preset-default').authenticator;
const user = 'test';
const service = 'otp-test';
/**
* Setup image (data-url):
* data:image/png;base64,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
*/
const secret = "OBVAGXINJAATYNR6";
const token = authenticator.generate(secret);
try {
const isValid = authenticator.check(token, secret);
const remaining = authenticator.timeRemaining();
console.log(`TOKEN: ${token}\nCEECK: ${isValid}\nREMAINING: ${remaining}`);
} catch (err) {
console.error(err);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment