<?php
//Obfuscated by YAK Pro - Php Obfuscator 2.0.13 at 2025-06-18 09:19:01
 namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Laravue\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use PragmaRX\Google2FA\Google2FA; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Str; use Illuminate\Support\Facades\Cache; class TwoFactorAuthController extends Controller { public function enableTwoFactorAuth(Request $request) { goto cFC8n; HqgYZ: $q4dwb = "\x32\x66\x61\137\x74\x65\155\x70\137\163\145\x63\162\x65\x74\137" . $FNumC->id; Cache::put($q4dwb, ["\163\x65\x63\x72\145\x74" => $xweEU, "\145\x78\x70\x69\x72\x65\x73\137\141\x74" => now()->addMinutes(10)], now()->addMinutes(10)); $bDg1I = $UpCY2->getQRCodeUrl(config("\x61\160\160\56\156\141\x6d\145"), $FNumC->email, $xweEU); goto hran0; cFC8n: $FNumC = $request->user(); $UpCY2 = app("\160\x72\141\x67\x6d\x61\162\170\x2e\x67\x6f\x6f\x67\154\x65\x32\x66\141"); $xweEU = $UpCY2->generateSecretKey(); goto HqgYZ; hran0: return response()->json(["\x65\x6e\x61\x62\x6c\145\x64" => false, "\163\145\x63\x72\145\164" => $xweEU, "\161\x72\137\143\157\x64\145\137\165\x72\154" => $bDg1I]); goto CFKb1; CFKb1: } public function verifyTwoFactorAuth(Request $request) { goto lS19J; HfWSv: return response()->json(["\163\x75\143\x63\x65\x73\163" => false, "\155\145\x73\x73\141\147\145" => "\124\x77\x6f\55\x66\x61\x63\164\x6f\x72\40\141\x75\x74\x68\145\156\x74\151\x63\x61\164\151\x6f\156\40\x73\x65\164\x75\160\40\x73\x65\163\163\151\157\156\40\150\141\x73\x20\145\x78\160\151\162\x65\x64\x2e\x20\120\154\x65\141\163\x65\40\x74\162\171\x20\141\x67\x61\x69\156\x2e"], 422); yKS_F: $I1E1w = $UpCY2->verifyKey($c2zRG["\163\x65\143\x72\145\x74"], $request->code); goto joFcM; bqXEN: $FNumC->google2fa_verified = true; $FNumC->save(); Cache::forget($q4dwb); goto iKN3Z; vcIiz: $FNumC->forceFill(["\x74\167\x6f\x5f\146\x61\143\164\157\162\x5f\162\x65\143\x6f\166\x65\162\x79\137\143\x6f\x64\x65\163" => encrypt($uFBC0->toJson())])->save(); return response()->json(["\x73\165\143\143\145\163\x73" => true, "\162\145\143\157\x76\145\x72\171\x5f\x63\x6f\x64\x65\163" => $uFBC0, "\x6d\145\163\163\141\147\x65" => "\x54\x77\x6f\x2d\146\x61\x63\x74\157\x72\x20\x61\x75\x74\x68\x65\x6e\164\151\143\141\x74\x69\x6f\156\40\x68\141\163\x20\x62\145\x65\156\40\145\156\141\x62\154\x65\144\x20\x73\x75\143\x63\x65\x73\163\146\x75\x6c\154\171\x2e"]); IZdpz: goto mwqCB; iKN3Z: $uFBC0 = collect(); $FcrvM = 0; umCa2: goto na6ru; na6ru: if (!($FcrvM < 8)) { goto hzhnI; } $uFBC0->push(Str::random(10) . "\55" . Str::random(10)); XoaTd: goto hrdg4; AJgLj: $q4dwb = "\x32\x66\x61\137\164\145\155\160\137\x73\145\143\162\145\164\137" . $FNumC->id; $c2zRG = Cache::get($q4dwb); if ($c2zRG) { goto yKS_F; } goto HfWSv; hrdg4: $FcrvM++; goto umCa2; hzhnI: goto vcIiz; lS19J: $request->validate(["\x63\x6f\x64\x65" => "\x72\x65\x71\165\x69\x72\x65\x64\x7c\163\164\x72\x69\x6e\147"]); $FNumC = $request->user(); $UpCY2 = app("\x70\x72\141\x67\x6d\x61\x72\170\x2e\147\157\157\147\x6c\145\62\x66\x61"); goto AJgLj; mwqCB: return response()->json(["\163\x75\143\x63\145\x73\163" => false, "\x6d\x65\163\x73\x61\x67\145" => "\x54\150\145\40\160\x72\x6f\x76\x69\x64\145\144\x20\164\167\x6f\x2d\x66\141\143\x74\x6f\162\40\141\x75\x74\x68\145\x6e\164\151\143\141\x74\x69\157\156\x20\143\x6f\x64\145\40\167\x61\163\40\x69\156\x76\141\154\x69\x64\x2e"], 422); goto OoBX2; joFcM: if (!$I1E1w) { goto IZdpz; } $FNumC->google2fa_secret = encrypt($c2zRG["\x73\145\143\x72\145\164"]); $FNumC->google2fa_enabled = true; goto bqXEN; OoBX2: } public function disableTwoFactorAuth(Request $request) { goto fRBOV; fRBOV: $FNumC = $request->user(); if (Hash::check($request->password, $FNumC->password)) { goto tA0Qk; } return response()->json(["\163\x75\143\143\x65\x73\x73" => false, "\155\145\163\x73\141\147\145" => "\124\x68\x65\40\x70\162\x6f\166\x69\x64\x65\144\x20\160\141\x73\x73\167\157\162\144\40\x77\141\163\x20\151\156\x63\157\x72\162\145\x63\164\x2e"], 422); goto kfKw8; kfKw8: tA0Qk: $FNumC->google2fa_secret = null; $FNumC->google2fa_enabled = false; goto MrSvT; nSjp4: return response()->json(["\163\x75\x63\x63\x65\163\x73" => true, "\155\145\x73\x73\x61\147\x65" => "\x54\167\157\x2d\146\141\x63\164\x6f\x72\40\141\x75\x74\150\x65\156\164\151\143\141\164\151\x6f\156\40\x68\x61\x73\x20\x62\145\145\156\40\144\151\x73\x61\x62\154\x65\144\56"]); goto tuD3I; MrSvT: $FNumC->google2fa_verified = false; $FNumC->two_factor_recovery_codes = null; $FNumC->save(); goto nSjp4; tuD3I: } public function verifyTwoFactorCode(Request $request) { goto GmdRT; B84Zz: $I1E1w = $UpCY2->verifyKey(decrypt($FNumC->google2fa_secret), $request->code); if (!$I1E1w) { goto P7Ezz; } $FNumC->google2fa_ts = $UpCY2->getTimestamp(); goto Ay3_x; jdDMu: $uFBC0 = json_decode(decrypt($FNumC->two_factor_recovery_codes), true) ?? []; if (!in_array($request->code, $uFBC0)) { goto XVxNX; } $uFBC0 = array_values(array_diff($uFBC0, [$request->code])); goto kalKo; kalKo: $FNumC->forceFill(["\x74\167\x6f\137\146\x61\143\x74\157\x72\137\x72\x65\x63\x6f\x76\x65\x72\171\137\143\157\x64\x65\x73" => encrypt(json_encode($uFBC0))])->save(); return response()->json(["\163\165\x63\143\145\x73\x73" => true, "\155\145\x73\x73\x61\x67\x65" => "\x52\x65\143\157\x76\x65\x72\x79\40\x63\x6f\144\145\40\165\x73\145\x64\56\40\x50\x6c\x65\141\x73\145\x20\163\141\166\145\x20\x79\157\x75\x72\x20\x6e\x65\167\40\162\x65\x63\157\x76\145\x72\171\x20\x63\157\x64\145\163\x2e", "\151\x73\x5f\162\x65\x63\157\x76\x65\x72\x79\x5f\143\x6f\144\145" => true]); XVxNX: goto B84Zz; b5xwo: return response()->json(["\x73\x75\x63\x63\145\163\163" => false, "\155\145\x73\x73\141\x67\x65" => "\124\150\x65\40\160\162\x6f\166\151\x64\145\x64\x20\164\x77\157\55\146\x61\x63\x74\x6f\x72\40\141\x75\x74\150\x65\156\164\x69\143\x61\x74\151\x6f\156\x20\x63\157\x64\145\x20\167\141\163\x20\151\x6e\x76\x61\154\x69\144\x2e"], 422); goto FeGEa; GmdRT: $request->validate(["\x63\x6f\x64\x65" => "\x72\x65\161\x75\x69\x72\x65\x64\x7c\163\164\x72\151\x6e\147"]); $FNumC = $request->user(); $UpCY2 = app("\x70\x72\141\x67\155\x61\x72\170\x2e\147\157\157\x67\154\145\62\x66\x61"); goto jdDMu; Ay3_x: $FNumC->save(); return response()->json(["\163\x75\x63\143\x65\163\x73" => true, "\x6d\145\163\163\141\x67\145" => "\x54\167\x6f\55\x66\x61\x63\164\x6f\162\40\141\165\x74\150\x65\156\164\151\143\x61\164\151\157\x6e\40\x73\x75\143\x63\145\163\x73\146\x75\154\56"]); P7Ezz: goto b5xwo; FeGEa: } public function generateNewRecoveryCodes(Request $request) { goto BRDn_; rhKec: ZwD9f: if (!($FcrvM < 8)) { goto iVPdg; } $uFBC0->push(Str::random(10) . "\55" . Str::random(10)); goto X9mHk; BRDn_: $FNumC = $request->user(); $uFBC0 = collect(); $FcrvM = 0; goto rhKec; X9mHk: h0XW0: $FcrvM++; goto ZwD9f; goto CK_0E; CK_0E: iVPdg: $FNumC->forceFill(["\x74\x77\x6f\137\x66\141\x63\x74\157\162\x5f\x72\x65\x63\x6f\x76\x65\x72\x79\137\x63\x6f\144\x65\x73" => encrypt($uFBC0->toJson())])->save(); return response()->json(["\x72\x65\x63\x6f\166\x65\x72\171\x5f\x63\157\x64\x65\163" => $uFBC0, "\x6d\145\x73\163\x61\147\145" => "\116\145\x77\40\x72\145\143\x6f\166\x65\162\x79\40\x63\x6f\x64\x65\163\40\147\145\x6e\x65\x72\x61\x74\x65\x64\40\163\x75\143\143\145\163\163\x66\x75\154\154\171\x2e"]); goto McoG1; McoG1: } public function getTwoFactorStatus(Request $request) { $FNumC = $request->user(); return response()->json(["\x65\x6e\141\x62\154\x65\x64" => $FNumC->google2fa_enabled, "\166\x65\162\151\x66\x69\145\x64" => $FNumC->google2fa_verified]); } }