waavi / recaptcha
Google Recaptcha for Laravel 5
Installs: 5 620
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 1
Open Issues: 2
Requires
- illuminate/config: ^5.1
- illuminate/support: ^5.1
Requires (Dev)
- mockery/mockery: ^0.9.4
- orchestra/testbench: 3.1.x|3.2.x
- phpunit/phpunit: ^4
README
Introduction
This is a reCAPTCHA Validator package for Laravel 5.1.
WAAVI is a web development studio based in Madrid, Spain. You can learn more about us at waavi.com
Laravel compatibility
Installation and Setup
Require through composer
composer require waavi/recaptcha 1.0.x
Or manually edit your composer.json file:
"require": {
"waavi/recaptcha": "1.0.x"
}
In config/app.php, add the following entry to the end of the providers array:
Waavi\ReCaptcha\ReCaptchaServiceProvider::class,
And the following alias:
'ReCaptcha' => Waavi\ReCaptcha\Facades\ReCaptcha::class,
Publish the configuration file, the form view and the language entries:
php artisan vendor:publish --provider="Waavi\ReCaptcha\ReCaptchaServiceProvider"
Enter your secret and site keys provided by Google in either your environment file (recommended) or the config file:
RECAPTCHA_SITE_KEY=site_key
RECAPTCHA_SECRET_KEY=secret_key
A simple error message in english is provided when validation of a recaptcha fails. If you wish to customize it, add to your validation.php lang file the following entry:
```php
'recaptcha' => 'Your error message here',
```
Usage
Rendering the ReCaptcha form in your views
You may render the ReCaptcha widget in your blade forms by calling:
{!! ReCaptcha::render() !!}
Or by including the provided view (if you choose to do this, the sitekey must be present as a parameter):
@include('recaptcha::recaptcha', ['siteKey' => config('recaptcha.keys.site')])
You may also choose to customize the widget through the available options described in the official docs
{!! ReCaptcha::render(['theme' => 'dark']) !!}
or
@include('recaptcha::recaptcha', ['siteKey' => config('recaptcha.keys.site'), 'options' => ['theme' => 'dark']])
Validating the ReCaptcha
There are two available options to validate the ReCaptcha. You may do so manually through the provided Facade:
```php
$value = \Input::get('g-recaptcha-response');
$gResponse = \ReCaptcha::parseInput($value);
if ($gResponse->isSuccess()) {
return true;
}
else {
$errors = $gResponse->getErrorMessages(); // Returns an array of error messages in the form of errorCode => errorMessage
var_dump($errors);
}
```
Or in a much more convinient way, through the provided Validator extension, adding to your rules array:
```php
$rules = [
/** Your rules ... **/
'g-recaptcha-response' => 'recaptcha',
];
```