mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-23 22:44:03 +00:00
google recaptcha test
This commit is contained in:
@@ -4,7 +4,8 @@ namespace App\Classes\General\Abstracts;
|
||||
|
||||
|
||||
use App\Classes\Exceptions\ErrorException;
|
||||
use App\Classes\Exceptions\InternalServerErrorException;
|
||||
use App\Classes\Jobs\UserRiskAnalysis;
|
||||
use App\Classes\Modules\Segments\Processors\RiskAnalysisProcessor;
|
||||
use App\Classes\ValueObjects\Constants\Notifications;
|
||||
use App\Classes\ValueObjects\Constants\HttpStatus;
|
||||
use App\Classes\ValueObjects\Response\ApiResponseObject;
|
||||
@@ -13,9 +14,8 @@ use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use TimeHunter\LaravelGoogleReCaptchaV3\Facades\GoogleReCaptchaV3;
|
||||
|
||||
abstract class AbstractControllerLogic
|
||||
{
|
||||
@@ -51,9 +51,10 @@ abstract class AbstractControllerLogic
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function execute(Request $request) : JsonResponse {
|
||||
Log::info(serialize(GoogleReCaptchaV3::verifyResponse($request->header('captcha-token'))));
|
||||
try {
|
||||
|
||||
if(Auth::user() === 2) UserRiskAnalysis::dispatch(Auth::user(), $request->header('captcha-token'));
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
$response = $this->logic($request);
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Jobs;
|
||||
|
||||
use App\Classes\Modules\Segments\Processors\RiskAnalysisProcessor;
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class UserRiskAnalysis implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||
|
||||
|
||||
/** @var User */
|
||||
private $user;
|
||||
|
||||
/** @var string */
|
||||
private $captchaToken;
|
||||
|
||||
/**
|
||||
* UserRiskAnalysis constructor.
|
||||
* @param User $user
|
||||
* @param string $captchaToken
|
||||
*/
|
||||
public function __construct(User $user, string $captchaToken)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->captchaToken = $captchaToken;
|
||||
}
|
||||
|
||||
|
||||
public function handle()
|
||||
{
|
||||
(app()->make(RiskAnalysisProcessor::class))->execute($this->user, $this->captchaToken);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Segments\Processors;
|
||||
|
||||
|
||||
use App\Classes\Modules\Companies\Processors\AssignSegmentProcessor;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use TimeHunter\LaravelGoogleReCaptchaV3\Core\GoogleReCaptchaV3Response;
|
||||
use TimeHunter\LaravelGoogleReCaptchaV3\Facades\GoogleReCaptchaV3;
|
||||
|
||||
class RiskAnalysisProcessor
|
||||
{
|
||||
|
||||
/** @var AssignSegmentProcessor */
|
||||
private $assignSegmentProcessor;
|
||||
|
||||
/**
|
||||
* RiskAnalysisProcessor constructor.
|
||||
* @param AssignSegmentProcessor $assignSegmentProcessor
|
||||
*/
|
||||
public function __construct(AssignSegmentProcessor $assignSegmentProcessor)
|
||||
{
|
||||
$this->assignSegmentProcessor = $assignSegmentProcessor;
|
||||
}
|
||||
|
||||
|
||||
function execute(User $user, string $token){
|
||||
$captchaToken = GoogleReCaptchaV3::verifyResponse($token);
|
||||
|
||||
if($captchaToken->getScore() < 0.6 && !in_array('timeout-or-duplicate', $captchaToken->getErrorCodes())){
|
||||
$this->assignSegmentProcessor->execute($user->company()->first(), 18);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user