Package Exports
- micro-captcha
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (micro-captcha) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Micro-Captcha
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
- Nathaniel Hill (@NathanielHill)