LaravelPackages.net
Acme Inc.
Toggle sidebar
kamilwojtalak/laravel-recaptcha-v3

Laravel reCaptcha v3 implementation.

1.040
7
About kamilwojtalak/laravel-recaptcha-v3

kamilwojtalak/laravel-recaptcha-v3 is a Laravel package for laravel recaptcha v3 implementation.. It currently has 7 GitHub stars and 1.040 downloads on Packagist. Install it with composer require kamilwojtalak/laravel-recaptcha-v3. Discover more Laravel packages by kamilwojtalak or browse all Laravel packages to compare alternatives.

Last updated

Laravel reCaptcha v3

Intallation

composer require kamilwojtalak/laravel-recaptcha-v3:dev-master

Get your key first!

First of all you have to create your own API keys here

Follow the instructions and at the end of the process you will find Site key and Secret key. Keep them close... you will need soon!

How to use

Add those environment variables to your .env file:

RECAPTCHA_SITE_KEY='xxxxxxxxxxxxxxxxx'
RECAPTCHA_SECRET_KEY='xxxxxxxxxxxxxxxxx'

Then publish config files:

php artisan vendor:publish --provider="Wojtalak\LaravelRecaptchaV3\Providers\LaravelRecaptchaV3ServiceProvider"

Ok, and now... When you want to use recaptcha in .blade.php where you have your form, you have to do following:

@push('head_scripts')
    @reCaptchaHead()
@endpush

@push('footer_scripts')
    @reCaptchaFooter('demo-form')
@endpush

Keep that in mind, you have to define your @stacks accordingly.

Then, when you define your form, you have to:

<form action="<your url>" method="<your method>" id="demo-form">
    ... <your code> ...

    <button class="g-recaptcha" data-sitekey="{{ config('recaptcha.api_site_key') }}"
        data-callback="onSubmitRecaptcha" data-action="submit">
        {{ __('Submit') }}
    </button>
</form>

Notice that you have to provide ID for your form in two places, 1) @reCaptchaFooter('demo-form'), 2) id="demo-form"

Inside your validation request do:

use Wojtalak\LaravelRecaptchaV3\Rules;

...

public function rules(): array
{
    return [
        ... <the rest of the request rules> ...
        'g-recaptcha-response' => ['required' , new Rules\Recaptcha]
    ];
}

Have a nice day! 😎

Comments