micro-captcha

3.0.1 • Public • Published

Micro-Captcha

npm version Coverage Status Greenkeeper badge

Simple Google ReCAPTCHA microservice for Zeit Now. (does not yet work with the new ReCAPTCHA v3.)

Can also be imported and used a node module.

Usage

How to use on Zeit Now 2.0

Define an /api/captcha lambda in now.json with the following:

import microCaptcha from 'micro-captcha'

export default microCaptcha({ secret: process.env.RECAPTCHA_SECRET_KEY })

Make sure to also set RECAPTCHA_SECREY_KEY to be available at runtime.

Now on the client side you'll want to pick your favorite ReCAPTCHA component (or roll your own) and use a handler like so:

onVerify () {
  fetch(`/api/captcha?response=${captchaResponse}`)
    .then(r => {
      if (r.ok) return r.json()
      throw new Error('failed to verify humanity')
    })
    .then(({ verified }) => {
      if (verified) {
        ... // Notify user of success!
      }
    })
}

Of course, you likely want to actually perform some action server-side, in which case it's best to use your /api/captcha endpoint indirectly. For an example see: micro-captcha-example

Use as a node module

Can also be used as a node module which can be useful for local development.

To install:

yarn add micro-captcha

or

npm install --save micro-captcha

The default export takes a config option (where secret is the only required key) and runs the microservice. Usage will look something like this:

const microCaptcha = require('micro-captcha')

microCaptcha({ secret: process.env.CAPTCHA_SECRET, port: process.env.PORT, log = true })

Author

/micro-captcha/

    Package Sidebar

    Install

    npm i micro-captcha

    Weekly Downloads

    1

    Version

    3.0.1

    License

    MIT

    Unpacked Size

    5.9 kB

    Total Files

    8

    Last publish

    Collaborators

    • nathanielhill