Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Laravel Package

captchaapi/laravel

Official Laravel SDK for captchaapi.eu (EU-hosted, GDPR-friendly proof-of-work CAPTCHA). Includes Blade widget/component, server-side verification + validation rule, and optional Livewire 4 support. PHP 8.2+, Laravel 12/13.

View on GitHub
Deep Wiki
Context7
v3.1.0

Adds FakeCaptchaapi::enforceSingleUse(), an opt-in test helper that makes the fake honour the server's single-use token contract. A response verifies once, the per-request memo still covers Fortify's double validation, and a replay in a later request is rejected — so a missing memoization fails the test instead of passing silently. The default fake is unchanged and still accepts any value.

Also documents Octane safety and adds a regression test proving the per-request memo does not leak across requests when the manager singleton survives.

v3.0.2

Renames the secret env var to CAPTCHAAPI_SECRET_KEY (was CAPTCHAAPI_SECRET), the config key to secret_key, and the accessor to Captchaapi::secretKey(), to match the existing CAPTCHAAPI_SITE_KEY. Update your .env: CAPTCHAAPI_SECRET=... becomes CAPTCHAAPI_SECRET_KEY=....

v3.0.1

Fixes Fortify login and registration failing under 3.0.

Fortify runs the captcha validator twice per request. Because server-side verification is single-use, the second pass hit an already-consumed token and returned invalid_token, rejecting a visitor who had already passed. ValidCaptcha now memoizes a success per request and skips the repeat verify call. Upgrade with composer update captchaapi/laravel.

v3.0.0

Breaking release. Verification moved from a local HMAC check to a server-side call to /verify, matching how every hosted CAPTCHA works and keeping the secret off the browser.

Breaking changes

  • ValidCaptcha now verifies server-side: it posts the response to /verify with your secret as a Bearer token and accepts the submission only when the server returns success. One call per submit, never retried (the response is single-use).
  • The form field is now captchaapi_response (was captcha_attestation) — update your validation keys and any hand-written markup. The Blade components and WithCaptcha trait are updated.
  • CAPTCHAAPI_SECRET_KEYS (a list) is replaced by a single CAPTCHAAPI_SECRET. Rotate from the dashboard, which accepts both keys during the overlap.
  • Removed replay_protection, cache_prefix, and clock_skew_leeway — the server owns single-use now.

Added

  • fail_open (default true) decides what happens when the verify call can't reach a verdict. Set false for login or payment forms.
  • timeout for the verify call.

See CHANGELOG.md for the full migration steps.

v2.1.4

README.md - fix Hetzner serevr location

Full Changelog: https://github.com/captchaapi/laravel/compare/v2.1.3...v2.1.4

v2.1.3

README.md - add PHP + Laravel badges update captchaapi.eu URL.

Full Changelog: https://github.com/captchaapi/laravel/compare/v2.1.2...v2.1.3

v2.1.0

Add CAPTCHAAPI_ENABLED to turn off/on captcha package (default is true)

Full Changelog: https://github.com/captchaapi/laravel/compare/v2.0.1...v2.1.0

v2.0.1

Add Blade captcha error helper

Full Changelog: https://github.com/captchaapi/laravel/compare/v2.0.0...v2.0.1

v1.0.2

Fixed memoization issue + update licence badge in README.md

Full Changelog: https://github.com/captchaapi/laravel/compare/v1.0.1...v1.0.2

v1.0.0

Official Laravel SDK for captchaapi.eu — EU-hosted, GDPR-compliant proof-of-work CAPTCHA. Drop-in Blade component, validation rule, and Livewire trait. No cookies, no tracking, no Google.

Install

composer require captchaapi/laravel
php artisan vendor:publish --tag=captchaapi-config
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
craftcms/url-validator
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony