null token recaptcha V3
Null78 opened this issue · 4 comments
as described in the documentation I installed the package and add the keys to the config then inserted the helper into the view.
I'm using recaptcha on the login form so the form is submitted to /login
, I don't know if I have to add anything to the controller but that is not mentioned in the documentation so I assume it's handled by the package.
the recaptcha logo appear on the bottom right of the page and i can see requests going to https://www.google.com/recaptcha/api2/
Screenshots of the request and response
Environment:
- Windows 10
- PHP version 7.4.15
- Laravel version 8.27.0
- Package version 5.0.1
Additional context
the code inserted in the view head
{!! htmlScriptTagJsApi([
'action' => 'homepage',
]) !!}
config file:
<?php
/**
* Copyright (c) 2017 - present
* LaravelGoogleRecaptcha - recaptcha.php
* author: Roberto Belotti - roby.belotti@gmail.com
* web : robertobelotti.com, github.com/biscolab
* Initial version created on: 12/9/2018
* MIT license: https://github.com/biscolab/laravel-recaptcha/blob/master/LICENSE
*/
/**
* To configure correctly please visit https://developers.google.com/recaptcha/docs/start
*/
return [
/**
*
* The site key
* get site key @ www.google.com/recaptcha/admin
*
*/
'api_site_key' => env('RECAPTCHA_SITE_KEY', ''),
/**
*
* The secret key
* get secret key @ www.google.com/recaptcha/admin
*
*/
'api_secret_key' => env('RECAPTCHA_SECRET_KEY', ''),
/**
*
* ReCATCHA version
* Supported: "v2", "invisible", "v3",
*
* get more info @ https://developers.google.com/recaptcha/docs/versions
*
*/
'version' => 'v3',
/**
*
* The curl timout in seconds to validate a recaptcha token
* @since v3.5.0
*
*/
'curl_timeout' => 10,
/**
*
* IP addresses for which validation will be skipped
*
*/
'skip_ip' => [],
/**
*
* Default route called to check the Google reCAPTCHA token
* @since v3.2.0
*
*/
'default_validation_route' => 'biscolab-recaptcha/validate',
/**
*
* The name of the parameter used to send Google reCAPTCHA token to verify route
* @since v3.2.0
*
*/
'default_token_parameter_name' => 'token',
/**
*
* The default Google reCAPTCHA language code
* It has no effect with v3
* @see https://developers.google.com/recaptcha/docs/language
* @since v3.6.0
*
*/
'default_language' => null,
/**
*
* The default form ID. Only for "invisible" reCAPTCHA
* @since v4.0.0
*
*/
'default_form_id' => 'biscolab-recaptcha-invisible-form',
/**
*
* Deferring the render can be achieved by specifying your onload callback function and adding parameters to the JavaScript resource.
* It has no effect with v3 and invisible
* @see https://developers.google.com/recaptcha/docs/display#explicit_render
* @since v4.0.0
* Supported true, false
*
*/
'explicit' => false,
/**
*
* Set API domain. You can use "www.recaptcha.net" in case "www.google.com" is not accessible.
* (no check will be made on the entered value)
* @see https://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally
* @since v4.3.0
* Default 'www.google.com' (ReCaptchaBuilder::DEFAULT_RECAPTCHA_API_DOMAIN)
*
*/
'api_domain' => 'www.google.com',
/**
*
* g-recaptcha tag attributes and grecaptcha.render parameters (v2 only)
* @see https://developers.google.com/recaptcha/docs/display#render_param
* @since v4.0.0
*/
'tag_attributes' => [
/**
* The color theme of the widget.
* Supported "light", "dark"
*/
'theme' => 'light',
/**
* The size of the widget.
* Supported "normal", "compact"
*/
'size' => 'normal',
/**
* The tabindex of the widget and challenge.
* If other elements in your page use tabindex, it should be set to make user navigation easier.
*/
'tabindex' => 0,
/**
* The name of your callback function, executed when the user submits a successful response.
* The g-recaptcha-response token is passed to your callback.
* DO NOT SET "biscolabOnloadCallback"
*/
'callback' => null,
/**
* The name of your callback function, executed when the reCAPTCHA response expires and the user needs to re-verify.
* DO NOT SET "biscolabOnloadCallback"
*/
'expired-callback' => null,
/**
* The name of your callback function, executed when reCAPTCHA encounters an error (usually network connectivity) and cannot continue until connectivity is restored.
* If you specify a function here, you are responsible for informing the user that they should retry.
* DO NOT SET "biscolabOnloadCallback"
*/
'error-callback' => null,
]
];
Did you set the correct domain in your Google console?
You sent to validation route a null
token you received from grecaptcha.execute
function.
Please check your environment configuration, especially:
RECAPTCHA_SITE_KEY
RECAPTCHA_SECRET_KEY
I deleted the key and create new one,
I think it's working now, sorry :)