mirror of
https://github.com/twinpath/app.git
synced 2026-01-26 05:15:28 +07:00
Migrate Turnstile to package and cleanup
This commit is contained in:
@@ -24,7 +24,7 @@ class ForgotPasswordController extends Controller
|
||||
{
|
||||
$request->validate([
|
||||
'email' => 'required|email',
|
||||
'cf-turnstile-response' => ['required', new \App\Rules\Turnstile],
|
||||
'cf-turnstile-response' => ['required', new \RyanChandler\LaravelCloudflareTurnstile\Rules\Turnstile],
|
||||
]);
|
||||
|
||||
// We will send the password reset link to this user. Once we have attempted
|
||||
|
||||
@@ -29,7 +29,7 @@ class AuthController extends Controller
|
||||
$credentials = $request->validate([
|
||||
'email' => ['required', 'email'],
|
||||
'password' => ['required'],
|
||||
'cf-turnstile-response' => ['required', new \App\Rules\Turnstile],
|
||||
'cf-turnstile-response' => ['required', new \RyanChandler\LaravelCloudflareTurnstile\Rules\Turnstile],
|
||||
]);
|
||||
|
||||
// Find user by email
|
||||
@@ -73,7 +73,7 @@ class AuthController extends Controller
|
||||
'email' => 'required|string|email|max:255|unique:users',
|
||||
'password' => 'required|string|min:8',
|
||||
'terms' => 'required|accepted',
|
||||
'cf-turnstile-response' => ['required', new \App\Rules\Turnstile],
|
||||
'cf-turnstile-response' => ['required', new \RyanChandler\LaravelCloudflareTurnstile\Rules\Turnstile],
|
||||
]);
|
||||
|
||||
$roleInfo = \App\Models\Role::where('name', 'customer')->first();
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Rules;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
class Turnstile implements ValidationRule
|
||||
{
|
||||
/**
|
||||
* Run the validation rule.
|
||||
*
|
||||
* @param \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString $fail
|
||||
*/
|
||||
public function validate(string $attribute, mixed $value, Closure $fail): void
|
||||
{
|
||||
$response = Http::asForm()->post('https://challenges.cloudflare.com/turnstile/v0/siteverify', [
|
||||
'secret' => env('TURNSTILE_SECRET_KEY'),
|
||||
'response' => $value,
|
||||
'remoteip' => request()->ip(),
|
||||
]);
|
||||
|
||||
if (! $response->json('success')) {
|
||||
$fail('The :attribute verification failed. Please try again.');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,8 @@
|
||||
"laravel/reverb": "^1.0",
|
||||
"laravel/socialite": "^5.24",
|
||||
"laravel/tinker": "^2.10.1",
|
||||
"laravolt/avatar": "^6.3"
|
||||
"laravolt/avatar": "^6.3",
|
||||
"ryangjchandler/laravel-cloudflare-turnstile": "^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "^1.23",
|
||||
|
||||
137
composer.lock
generated
137
composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "065b9d83adf2a17b87ed567b244f3790",
|
||||
"content-hash": "992a7cc59443753104146438fbf53602",
|
||||
"packages": [
|
||||
{
|
||||
"name": "brick/math",
|
||||
@@ -4954,6 +4954,141 @@
|
||||
],
|
||||
"time": "2024-06-11T12:45:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ryangjchandler/laravel-cloudflare-turnstile",
|
||||
"version": "v3.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ryangjchandler/laravel-cloudflare-turnstile.git",
|
||||
"reference": "c5712e515aa355397159e0b59fe331469bee5a87"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ryangjchandler/laravel-cloudflare-turnstile/zipball/c5712e515aa355397159e0b59fe331469bee5a87",
|
||||
"reference": "c5712e515aa355397159e0b59fe331469bee5a87",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^11.0|^12.0",
|
||||
"php": "^8.2",
|
||||
"spatie/laravel-package-tools": "^1.13.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"larastan/larastan": "^3.1",
|
||||
"laravel/pint": "^1.0",
|
||||
"nunomaduro/collision": "^8.0",
|
||||
"orchestra/testbench": "^9.0|^10.0",
|
||||
"pestphp/pest": "^3.7",
|
||||
"pestphp/pest-plugin-laravel": "^3.1",
|
||||
"phpstan/extension-installer": "^1.1",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.0|^2.0",
|
||||
"phpstan/phpstan-phpunit": "^1.0|^2.0",
|
||||
"phpunit/phpunit": "^10.0|^11.5.3",
|
||||
"spatie/laravel-ray": "^1.26",
|
||||
"spatie/pest-plugin-snapshots": "^2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"aliases": {
|
||||
"LaravelCloudflareTurnstile": "RyanChandler\\LaravelCloudflareTurnstile\\Facades\\LaravelCloudflareTurnstile"
|
||||
},
|
||||
"providers": [
|
||||
"RyanChandler\\LaravelCloudflareTurnstile\\LaravelCloudflareTurnstileServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"RyanChandler\\LaravelCloudflareTurnstile\\": "src",
|
||||
"RyanChandler\\LaravelCloudflareTurnstile\\Database\\Factories\\": "database/factories"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ryan Chandler",
|
||||
"email": "support@ryangjchandler.co.uk",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "A simple package to help integrate Cloudflare Turnstile.",
|
||||
"homepage": "https://github.com/ryangjchandler/laravel-cloudflare-turnstile",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"laravel-cloudflare-turnstile",
|
||||
"ryangjchandler"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/ryangjchandler/laravel-cloudflare-turnstile/issues",
|
||||
"source": "https://github.com/ryangjchandler/laravel-cloudflare-turnstile/tree/v3.0.1"
|
||||
},
|
||||
"time": "2025-12-16T15:56:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-package-tools",
|
||||
"version": "1.92.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-package-tools.git",
|
||||
"reference": "f09a799850b1ed765103a4f0b4355006360c49a5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5",
|
||||
"reference": "f09a799850b1ed765103a4f0b4355006360c49a5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/contracts": "^9.28|^10.0|^11.0|^12.0",
|
||||
"php": "^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.5",
|
||||
"orchestra/testbench": "^7.7|^8.0|^9.0|^10.0",
|
||||
"pestphp/pest": "^1.23|^2.1|^3.1",
|
||||
"phpunit/php-code-coverage": "^9.0|^10.0|^11.0",
|
||||
"phpunit/phpunit": "^9.5.24|^10.5|^11.5",
|
||||
"spatie/pest-plugin-test-time": "^1.1|^2.2"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\LaravelPackageTools\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Freek Van der Herten",
|
||||
"email": "freek@spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Tools for creating Laravel packages",
|
||||
"homepage": "https://github.com/spatie/laravel-package-tools",
|
||||
"keywords": [
|
||||
"laravel-package-tools",
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/laravel-package-tools/issues",
|
||||
"source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/spatie",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-07-17T15:46:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/clock",
|
||||
"version": "v7.3.0",
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
@props(['theme' => 'auto', 'size' => 'normal', 'tabindex' => 0])
|
||||
|
||||
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
|
||||
|
||||
<div class="cf-turnstile"
|
||||
data-sitekey="{{ env('TURNSTILE_SITE_KEY') }}"
|
||||
data-theme="{{ $theme }}"
|
||||
data-size="{{ $size }}"
|
||||
data-tabindex="{{ $tabindex }}"
|
||||
{{ $attributes }}
|
||||
></div>
|
||||
Reference in New Issue
Block a user