waavi/recaptcha

Google Recaptcha for Laravel 5

1.0.5 2016-09-15 15:35 UTC

This package is auto-updated.

Last update: 2024-04-13 22:45:21 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

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

Laravel translation
5.1.x 1.0.x
5.2.x 1.0.4 and higher
5.3.x 1.0.5 and higher

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',
];
```