Easy API for Google reCAPTCHA version 2 for Node.js and Express
npm install recaptcha2You need to receive your site key and secret key for your domain from https://www.google.com/recaptcha/intro/.
Follow the steps on this page to include the reCAPTCHA on your website.
js
var reCAPTCHA = require('recaptcha2');var recaptcha = new reCAPTCHA({
siteKey: 'your-site-key', // retrieved during setup
secretKey: 'your-secret-key' // retrieved during setup
ssl: false // optional, defaults to true.
// Disable if you don't want to access
// the Google API via a secure connection
});
`$3
reCAPTCHA2 uses promises to validate the reCAPTCHA response, you can use one of the following methods:
* please mention on catch, library passes error codes from google which you can translate with translateErrors method
#### Simple usage:
`js
recaptcha.validate(key)
.then(function(){
// validated and secure
})
.catch(function(errorCodes){
// invalid
console.log(recaptcha.translateErrors(errorCodes)); // translate error codes to human readable text
});
`
Optional: You can also pass the clients IP address to the validate method after the key. For more information on that, please see the reCAPTCHA documentation.#### For use with Express (you need body-parser):
`js
function submitForm(req, res) {
recaptcha.validateRequest(req)
.then(function(){
// validated and secure
res.json({formSubmit:true})
})
.catch(function(errorCodes){
// invalid
res.json({
formSubmit: false,
errors: recaptcha.translateErrors(errorCodes) // translate error codes to human readable text
});
});
}
`$3
recaptcha.formElement() returns standard form element for reCAPTCHA which you should include at the end of your html form element.You can also set CSS classes like this:
recaptcha.formElement('custom-class-for-recaptcha').
The default class is g-recaptcha.`html
``Please see the CHANGELOG.md.