'User Login' ]; return view('user-auth.login', $data); } public function handleLogin(Request $request){ $this->validate($request, ['username' => 'required', 'password' => 'required']); $logged_in = ''; // dd(config('database.connections.sqlite.database')); $check_user_url = 'auth/auth_user.php'; $data = ['user' => $request->username, 'pass' => $request->password, 'api_token' => env('LUPMISAPIKEY')]; $check_user = ApiCalls::CurlPost(json_encode($data), $check_user_url); /* "success" : true, "data" : { "ua_id":28,"user_id":"71c1f2bd-e85b-4c2a-b559-536731ea1a92", "username":"kwesilupmis", "title":"Mr","full_name":"Kwesi banson jnr", "ua_position":"luspa-it-head", "email":"kwesibanson@yahoo.com", "phone":"0204040805","gender":null, "is_disabled":"true", "is_logged_in":0,"is_password_changed":"false","password_hint":"none", "created_by_id":null,"created_date":"2026-03-10T07:09:38.815762", "updated_by_id":"71c1f2bd-e85b-4c2a-b559-536731ea1a92", "updated_date":"2026-05-06T10:26:09.191289", "allowed_apps":"drawing-tools, permit-tools, admin-gui", "region_id":10, "district_id":122 } */ if($check_user == false){ return redirect("user-login")->withErrors(array("System not available at the moment. Try again later!"))->withInput(); } $result = json_decode($check_user, true); if($result['success'] == false){ return redirect("user-login")->withErrors(array("Incorrect Email/Password. Check and try again!"))->withInput(); } if($result['data']['is_disabled'] == true){ ##return redirect("user-login")->withErrors(array("Your Account has been disabled. Contact your administrator!"))->withInput(); } $logged_in = $result['data']; $plainToken = Str::random(60); // $hashedToken = hash('sha256', $plainToken); DB::table('sso_sessions')->insert([ 'user_id' => $logged_in['user_id'], 'token' => hash('sha256', $plainToken), 'created_at' => now(), ]); $request->session()->regenerate(true); $request->session()->put('current_user.ua_id', $logged_in['ua_id']); $request->session()->put('current_user.user_id', $logged_in['user_id']); $request->session()->put('current_user.username', $logged_in['username']); $request->session()->put('current_user.title', $logged_in['title']); $request->session()->put('current_user.full_name', $logged_in['full_name']); $request->session()->put('current_user.email', $logged_in['email']); $request->session()->put('current_user.user_type', $logged_in['user_type']); $request->session()->put('current_user.phone', $logged_in['phone']); $request->session()->put('current_user.allowed_apps', $logged_in['allowed_apps']); $request->session()->put('current_user.ua_position', $logged_in['ua_position']); $request->session()->put('current_user.region_id', $logged_in['region_id']); $request->session()->put('current_user.is_password_changed', $logged_in['is_password_changed']); $request->session()->put('current_user.district_id', $logged_in['district_id']); // $request->session()->put('current_user.hashedToken', $hashedToken); $request->session()->put('current_user.plainToken', $plainToken); // $request->session()->put('current_user.permissions', $logged_in['permissions']); Cookie::queue('sso_auth_token', $plainToken, 60, '/', '.lupmis4luspa.org'); \Log::info($logged_in['full_name']. ' Successfully logged in at : ' . date('Y-m-d H:i:s')); return redirect(url('/')); } public function handle_logout(Request $request) { $user_id = session('current_user.id'); $username = session('current_user.name'); $plainToken = request()->cookie('sso_auth_token'); if ($plainToken) { Cookie::queue(Cookie::forget('sso_auth_token', '/', '.lupmis4luspa.org')); } $logout_user_url = 'auth/logout_user.php'; $data = ['user_id' => $user_id, 'api_token' => env('LUPMISAPIKEY')]; $result = ApiCalls::CurlPost(json_encode($data), $logout_user_url); // dd($result); $request->session()->forget('current_user'); $request->session()->flush(); $request->session()->regenerate(true); \Log::info($username . ' Successfully logged out at : ' . date('Y-m-d H:i:s')); Session::flash('success_message', 'You have successfully logged out!'); return redirect("/"); } }