HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/be.naniguide.com/app/Http/Middleware/TwoFA.php
<?php

namespace Acelle\Http\Middleware;

use Closure;
use PragmaRX\Google2FALaravel\Support\Authenticator;
use Illuminate\Http\Request;

class TwoFA
{
    public function handle($request, Closure $next)
    {
        if (\Acelle\Model\Setting::get('2fa_enable') == 'yes') {
            if ($request->user()->is2FAEnabled()) {
                // save previous url
                session(['2fa.redirect' => url()->full()]);

                // var_dump($this->shouldProvideTwoFactorChallenge($request));die();

                // Select methos to validate
                if ($this->shouldProvideTwoFactorChallenge($request)) {
                    return redirect(action('UserController@verifySelectMethod'));
                }
            } else {
                // not enable mean should set 2fa session = true, in case user want to change 2fa setting while logged in
                $request->user()->set2FAAuthenticated();
            }
        }

        return $next($request);
    }

    protected function shouldProvideTwoFactorChallenge(Request $request): bool
    {
        return $request->user() &&
            !$request->user()->is2FAAuthenticated();
    }
}