Laravel - reCAPTCHA повторно - PullRequest
0 голосов
/ 08 мая 2018

Я интегрировал reCAPTCHA с помощью Guzzle Client следующим образом:

Validator::extend('recaptcha', function ($attribute, $value, $parameters, $validator) {
    $client = new Client();

    $response = $client->post(env('RECAPTCHA_VERFIY_URL'), [
        'form_params' => [
            'secret' => env('RECAPTCHA_SECRET_KEY'),
            'response' => $value
        ]
    ]);

    $body = json_decode((string)$response->getBody());

    return $body->success;
});

Тогда в моих правилах проверки у меня есть:

'g-recaptcha-response' => 'required|recaptcha'

Это работает нормально, однако проблема, с которой я сталкиваюсь, заключается в том, что если reCAPTCHA был отмечен галочкой и проверен, и я пытаюсь повторно отправить форму (например, если первоначальная отправка содержала ошибки), я получаю "ложный" ответ. Пользователь не может пометить флажок.

Как я могу справиться с ситуацией, когда мне нужно повторно отправить reCAPTCHA? Я отправляю и проверяю формы через AJAX.

...