web-dev-qa-db-fra.com

Invisible reCAPTCHA - Paramètres requis manquants: sitekey

Je suis en train de charger Invisible reCAPTCHA de manière dynamique pour chaque formulaire avec un bouton ayant la classe g-recaptcha

Le problème que j'ai est que captcha ne se charge pas correctement et je ne sais pas pourquoi. J'ai suivi la documentation sur le site Web captcha et je ne sais pas comment ni pourquoi j'ai eu cette erreur:

Uncaught Error: Missing required parameters: sitekey

Est-ce que quelqu'un sait où est le problème?

Voici le code que j'utilise:

<script src='https://www.google.com/recaptcha/api.js?onload=onloadCallback&hl={{  app.request.locale|default(defaultLang) }}' async defer></script>

JS

var onloadCallback = function () {
    $("button.g-recaptcha").each(function () {
        var el = $(this);
        //SITE_KEY is actually hard coded string.
        //It is string that google provided. I just remove it for security reasons...
        grecaptcha.render($(el).attr("id"), {
            "sitekey": SITE_KEY,  
            "size": "invisible",
            "badge": "inline",
            "callback": function (token) {
                $(el).parent().find(".g-recaptcha-response").val(token);
                $(el).closest("form").submit();
            }
        }, true);
    });

    $("button.g-recaptcha").click(function(event) {
        event.preventDefault();
        grecaptcha.execute();
    });
};

EXEMPLE DE HTML:

<button 
    type="submit" 
    id="submitReviewButton"
    class="btn btn-lg btn-submit btn--green g-recaptcha"
 >
    {{ "review.submit_your_review"|trans }}
</button>
3
jureispro

Vous manquez une partie importante ici. Le widget api doit être rendu explicitement. Ajoutez simplement render=explicit au script apapt recaptcha.

<script src='https://www.google.com/recaptcha/api.js?
onload=onloadCallback
&render=explicit
&hl={{app.request.locale|default(defaultLang) }}' async defer>
</script>

Lisez le document Google ( reCAPTCHA V2 | reCAPTCHA - Rendez explicitement le widget reCAPTCHA ).

8
Roshana Pitigala

Si vous obtenez "Paramètres requis manquants: sitekey" lorsque vous utilisez Wordpress avec CForm Builder et Google Captcha RECaptcha, vous devez placer la clé de site Recaptcha sous "Options globales" dans le menu de gauche pour le plugin CForm Builder. Vous avez également besoin des mêmes informations dans le plugin Google Captcha. Cela peut sembler évident, mais le «Options globales» de CForm a longtemps manqué.

0
GlenPeterson