laravel-capjs maintained by shirakun
Laravel Cap.js
Laravel Cap.js, is a package to help you implement cap.js (CAP Worker Service) easily.
Installation
You can install the package via composer:
composer require shirakun/laravel-capjs
You can publish the config file with:
php artisan vendor:publish --tag="capjs-config"
This is the contents of the published config file:
return [
/*
|--------------------------------------------------------------------------
| Cap.js Keys
|--------------------------------------------------------------------------
|
| This value is the site, and the secret key of your application.
| Cap.js might not require these by default, but they are available
| for custom worker endpoints.
|
*/
'capjs_site_key' => env('CAPJS_SITE_KEY', null),
'capjs_secret_key' => env('CAPJS_SECRET_KEY', null),
'capjs_api_endpoint' => env('CAPJS_API_ENDPOINT', 'https://captcha.gurl.eu.org/api/validate'),
/*
|--------------------------------------------------------------------------
| Error Messages
|--------------------------------------------------------------------------
|
| Here you can find the error messages for the application. You can modify
| or translate the error message as you like.
|
*/
'error_messages' => [
'capjs_check_message' => 'The CAPTCHA thinks you are a robot! Please refresh and try again.',
],
];
Usage
Cap.js Widget Component
Once you require this package, you can use the capjs widget in your form, like the following:
<x-capjs-widget
theme="light"
size="normal"
shape="square"
elevation="flat"
/>
Cap.js Backend Validation
Once you use the widget component in the frontend, you can validate the Cap.js response by using the validate method.
Here's an example:
use Shirakun\LaravelCapjs\Facades\LaravelCapjs;
public function store(Request $request)
{
$response = LaravelCapjs::validate();
if (! $response['success']) {
// do your logic
}
}
You may, optionally, send the token with the validation method:
public function store(Request $request)
{
$response = LaravelCapjs::validate(
$request->get('cap-token');
);
}
Cap.js Custom Rule
If you want clean validation, you can use the CapjsCheck custom rule:
use Shirakun\LaravelCapjs\Rules\CapjsCheck;
public function store(Request $request)
{
$request->validate([
'cap-token' => [new CapjsCheck()]
]);
}
Credits
License
The MIT License (MIT). Please see the License File for more information.