Я нашел решение, надеюсь, это поможет кому-то в будущем.
Ну, это ошибка в самой библиотеке, когда они удаляют ключ сеанса, не проверяя результат:
public function check($value)
{
if ( ! $this->session->has('captcha'))
{
return false;
}
$key = $this->session->get('captcha.key');
$sensitive = $this->session->get('captcha.sensitive');
if ( ! $sensitive)
{
$value = $this->str->lower($value);
}
$this->session->remove('captcha');
return $this->hasher->check($value, $key);
}
Таким образом, мое решение таково (вам нужно расширить класс, переопределить метод и связать класс с новой реализацией):
public function check($value)
{
if ( ! $this->session->has('captcha'))
{
return false;
}
$key = $this->session->get('captcha.key');
$sensitive = $this->session->get('captcha.sensitive');
if ( ! $sensitive)
{
$value = $this->str->lower($value);
}
$isNotARobot = $this->hasher->check($value, $key);dd($isNotARobot);
if ($isNotARobot) {
$this->session->remove('captcha');
}
return $isNotARobot;
}