https://github.com/fereidani/recaptcha2
Easy verifier for google reCAPTCHA version 2 for Node.js and Express.js
https://github.com/fereidani/recaptcha2
captcha form-validation google google-recaptcha nodejs recaptcha recaptcha-api
Last synced: 6 months ago
JSON representation
Easy verifier for google reCAPTCHA version 2 for Node.js and Express.js
- Host: GitHub
- URL: https://github.com/fereidani/recaptcha2
- Owner: fereidani
- License: mit
- Created: 2015-08-15T20:52:32.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-10-30T03:05:44.000Z (over 3 years ago)
- Last Synced: 2024-11-14T08:56:35.092Z (6 months ago)
- Topics: captcha, form-validation, google, google-recaptcha, nodejs, recaptcha, recaptcha-api
- Language: CoffeeScript
- Homepage:
- Size: 27.3 KB
- Stars: 48
- Watchers: 2
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# reCAPTCHA2
Easy verifier for Google reCAPTCHA version 2 for Node.js## How to use
### Step 1: Setup reCAPTCHA on your site
You 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.
### Step 2: Initialize verifier
```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
});
```### Step 3: Verifying the reCAPTCHA response
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](https://developers.google.com/recaptcha/docs/verify).#### 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
});
});
}
```### Generating the reCAPTCHA widget
`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
```## Changelog
Please see the [CHANGELOG.md](CHANGELOG.md).