UNPKG

authkit-js

Version:

Express auth toolkit (JWT, Sessions with Redis, Google/GitHub OAuth) in JavaScript

26 lines (13 loc) 581 B
const speakeasy = require('speakeasy'); const qrcode = require('qrcode'); function generateSecret(label) { const secret = speakeasy.generateSecret({ name: label }); return secret; // contains ascii, hex, base32, otpauth_url } async function generateQRCodeDataURL(otpauthUrl) { return await qrcode.toDataURL(otpauthUrl); } function verifyToken(secretBase32, token, window = 1) { return speakeasy.totp.verify({ secret: secretBase32, encoding: 'base32', token, window }); } module.exports = { generateSecret, generateQRCodeDataURL, verifyToken };