Express.js middleware for Google's No CAPTCHA reCAPTCHA
When form is posted with No CAPTCHA reCAPTCHA element in it, the middleware automatically validates the request token against Google API and passes the request on.
$ npm install express-nocaptcha
Add No CAPTCHA reCAPTCHA to the form that you want to have validation on. Refer to the Developer's Guide how to do this.
Load express-nocaptcha
and set your Google API secret key to it:
app.use(require('express-nocaptcha')({
secret: 'abcdefghijklmnopqrstuvxyz'
}));
If captcha is valid, for subsequent middlewares, req.validnocaptcha
is set to true.
app.post(function(req, res, next) {
if(!req.validnocaptcha) { return next(); }
// Valid nocaptcha. Do stuff here...
});