/SyliusGoogleRecaptchaV3Plugin

Add Google Recaptcha v3 to some forms in Sylius to prevent spam

Primary LanguagePHP

Latest Version on Packagist Software License Build Status Quality Score

Sylius Plugin adding Google Recaptcha V3 integration

This plugin is adding Google Recaptcha V3 to the following forms :

  • Contact form
  • Registration form

But an abstract class is available to add the captcha field to any other Form\Extension

Installation

composer require prometee/sylius-google-recaptcha-v3-plugin

Configuration

Enable this plugin :

<?php

# config/bundles.php

return [
    // ...
    Prometee\SyliusGoogleRecaptchaV3Plugin\PrometeeSyliusGoogleRecaptchaV3Plugin::class => ['all' => true],
    // ...
];

This plugin is using the karser/karser-recaptcha3-bundle to handle the validation of the Google Recaptcha V3, so a little configuration have to be made. Add or modify the karser/karser-recaptcha3-bundle configuration :

# config/packages/karser_recaptcha3.yaml

karser_recaptcha3:
    host: 'www.recaptcha.net' # in case 'www.google.com' is not accessible (from China for example)
    site_key: '%env(GOOGLE_RECAPTCHA_SITE_KEY)%'
    secret_key: '%env(GOOGLE_RECAPTCHA_SECRET)%'
    score_threshold: 0.5

Finally add your site key and secret to your .env.local file :

###> google/recaptcha ###
GOOGLE_RECAPTCHA_SITE_KEY=my_site_key
GOOGLE_RECAPTCHA_SECRET=my_secret
###< google/recaptcha ###