. */ declare(strict_types=1); namespace FireflyIII\Http\Middleware; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Session; /** * Class Authenticate. */ class Authenticate { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @param string|null $guard * * @return mixed */ public function handle(Request $request, Closure $next, $guard = null) { if (Auth::guard($guard)->guest()) { if ($request->ajax()) { return response('Unauthorized.', 401); } return redirect()->guest('login'); } if (1 === intval(auth()->user()->blocked)) { $message = strval(trans('firefly.block_account_logout')); if ('email_changed' === auth()->user()->blocked_code) { $message = strval(trans('firefly.email_changed_logout')); } Session::flash('logoutMessage', $message); Auth::guard($guard)->logout(); return redirect()->guest('login'); } return $next($request); } }