- How do I install timehunter/laravel-google-recaptcha-v2 in a Laravel app?
- Install it with Composer using composer require timehunter/laravel-google-recaptcha-v2, then confirm the service provider is discovered and publish any package config. You will need a Google reCAPTCHA v2 site key and secret key in your environment. Because the package is old and unmaintained, first test installation on the target Laravel and PHP version in a non-production branch.
- Does this package support Laravel 10 or Laravel 11?
- The repository does not provide reliable evidence that it supports Laravel 10 or Laravel 11. The package was last released in 2021, and its Composer constraints and PHP version support must be checked directly. For current Laravel versions, a maintained package or a small in-house siteverify adapter is usually safer.
- How do I validate a reCAPTCHA v2 token server-side with this package?
- The package is intended to provide a Laravel validation rule that sends the submitted token to Google's siteverify endpoint. You would typically add the rule to the form request or validator alongside the g-recaptcha-response field. Before production, verify how it handles expired tokens, hostname checks, network errors, and Google error codes.
- Can I use this package for reCAPTCHA v3 or Enterprise?
- No, the package is specifically described as a Google reCAPTCHA v2 integration. It is not positioned for reCAPTCHA v3, reCAPTCHA Enterprise, or framework-agnostic bot mitigation. If your roadmap requires v3 or Enterprise, plan a different integration or a direct Google API adapter.
- What license does timehunter/laravel-google-recaptcha-v2 use?
- The available assessment flags the license as NOASSERTION, meaning the exact license is not clear from the package metadata. That is a legal blocker until your legal team reviews the repository and approves use. Do not merge the package into production code before the license is clarified.
- Is this package safe for production use?
- It carries high production risk because it has been effectively unmaintained since 2021 and sits in a security-sensitive bot-mitigation path. There is no vendor SLA or clear security response path, and the license is unresolved. If you must use it, fork or vendor the code, pin it, add tests, and wrap it behind an internal interface with a fail-closed policy.
- How do I test reCAPTCHA v2 validation without hitting Google in CI?
- Use Google's published reCAPTCHA v2 test keys in local and CI environments, or mock the HTTP client used by the validation rule. The package itself has no documented CI or test coverage in the available assessment, so you should add your own tests around success, failure, timeout, and malformed responses. Keep real secret keys out of test configuration.
- What configuration is required for the reCAPTCHA v2 widget and secret key?
- You normally publish the package config and set the Google reCAPTCHA v2 site key and secret key through environment variables. The frontend form needs the v2 widget or helper output, and the backend validator needs the g-recaptcha-response token. Also confirm your Content Security Policy allows Google's reCAPTCHA domains and that config caching works in your deployment.
- What are alternatives to this Laravel reCAPTCHA package?
- For Laravel apps, a maintained reCAPTCHA package, a direct Google siteverify adapter, or another bot-mitigation service are common alternatives. If you only need v2 checkbox verification, a small in-house service class that posts to siteverify is often easier to own than an abandoned wrapper. Choose based on whether you need v2 specifically, v3, Enterprise, or a vendor-supported security product.
- Who maintains this package and will it receive security patches?
- The package appears effectively unmaintained since its 2021 release, with a very small ecosystem footprint and no documented security response process. If adopted, your team must own dependency updates, Google API changes, and security patches. Treat it as a reference implementation or short-term accelerator, not a platform dependency.