New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

fastify-totp

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fastify-totp

A plugin to handle TOTP (e.g. for 2FA)

latest
Source
npmnpm
Version
1.0.0
Version published
Weekly downloads
10
-16.67%
Maintainers
1
Weekly downloads
 
Created
Source

fastify-totp

A plugin to handle TOTP (e.g. for 2FA)

Node.js CI

Install

npm i --save fastify-totp

Usage

fastify.register(require('fastify-totp'))

// ...

secret = fastify.totp.generateSecret()

// You should now store secret.ascii in order to verify the TOTP.

const token = req.body.token

isVerified = fastify.totp.verify({ secret: secret.ascii, token })

The plugin includes also a facility to generate a QRCode that can be used to quickly configure third-party authenticators (e.g. Google Authenticator)

const qrcode = await fastify.totp.generateQRCode({ secret: secret.ascii })

Methods

NameDescription
generateSecret (length)Generate a new secret with the provided length (or use default one otherwise)
generateToken (options)Generate a TOTP token based on given options.
generateAuthURL (options)Generate an auth URL* that can be used to configure a third-party authenticator.
generateQRCode (options) [async]Genereate a data-URI of a QRCode to share the auth URL.
verify (options)Verify a TOTP token with the original secret.

Request

NameDescription
request.totpVerify (options)See verify.

Options

NameDescription
secretLengthThe length of the generated secret. Default: 20
totpLabelThe label to show in third-party authenticators. Usually the app name. Default: "Fastify"
totpWindowThe allowable previous or future "time-windows" to check against of. Default: 1
totpAlgThe algorithm to use for hash generation. Default: "sha512"
totpStepTime step in seconds. Default: 30

NOTE: for more details, please take a look at Speakeasy docs.

Test

npm test

Acknowledgements

This project is kindly sponsored by:

Beliven

License

Licensed under MIT

Keywords

fastify

FAQs

Package last updated on 13 Oct 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts