1.0.1 • Published 2 years ago

otp-service v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

OTP-Service

generateToken

Will generate a couple secret, token.

  • Secret is a base32 encoded hex secret key.
  • Token is the current OTP (6 int)

Param: Key (optional) will pass the key as a secret to generate the current token

Example: npm run generate:token --key=\"KMEASRS2IUFH2OZ2\"

generateQRCode

Will generate a QRCode that can be scan with an auth app (compatible with Google Authenticator).

The QR code generated is a png data image in base64.

It can be passed as src in an HTML img tag.

  <img src="data:image/png;base64,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" />

Param: User to display in the auth app Service to display in the auth app Secret used to generate the qrcode

Example: npm run generate:qrcode --user=\"123\" --service=\"goof\" --secret=\"KMEASRS2IUFH2OZ2\"

validate

Will match secret with current token and return true if valid.

Param: Secret is the secret used to generate the token Token is the currrent OTP provided by generateToken or by an app

Example: npm run validate --secret=\"KMEASRS2IUFH2OZ2\" --token=\"123456\"