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
composer require kamilwojtalak/laravel-recaptcha-v3:dev-master
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!
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! 😎