A universal and secure token generator for authentication. Available in multiple languages, supports 2FA authentication flow.
npm install node-tokenize
With PNPM:
pnpm i node-tokenizeWith Yarn:
yarn add node-tokenize
With NPM:
npm i node-tokenize
`How to use it
`js
import Tokenize from 'node-tokenize'
import Otp from 'node-tokenize/otp'const tokenize = new Tokenize('Very strong and secure secret')
console.log(tokenize.generate('account_id')) // xxxxxxxx.xxxxxxxxxxx.xxxxxxxxx
console.log(tokenize.generate('account_id', 'prefix')) // prefix.xxxxxxxx.xxxxxxxxxxx.xxxxxxxxx
// Returns the account, or null if the token is invalid
console.log(tokenize.validate('xxxxxxxx.xxxxxxxxxxx.xxxxxxxxx', () => ({ tokensValidSince: 0 })))
// Get an OTP key
console.log(Otp.generateKey()) // You just need to save the base32 key in database
// Validate an OTP code
console.log(Otp.validateTotp("013370", "xxxxxxxxxxxxxxxx"))
console.log(Otp.validateHotp("013370", "xxxxxxxxxxxxxxxx", 1))
``For specifications about how to use Tokenize in general, please refer to the top-level
README.
Looking to use this in a Fastify application? Give
fastify-tokenize a look! :D