From 0e0a881375cf18a82182cc11ee7d0c5642a14873 Mon Sep 17 00:00:00 2001 From: Srinivas-Saravanan Date: Wed, 8 Jan 2025 09:17:03 +0530 Subject: [PATCH] FEAT_COOKIE_SAVE_AND_CHECK ADDED --- app/Controllers/LoginController.php | 16 ++++++----- app/Filters/AuthMVC.php | 3 +-- app/Helpers/oauth_helper.php | 2 +- app/Helpers/session_helper.php | 41 ++++++++++++++++++++++++----- composer.json | 2 +- 5 files changed, 48 insertions(+), 16 deletions(-) diff --git a/app/Controllers/LoginController.php b/app/Controllers/LoginController.php index 10c4271..b3ca218 100755 --- a/app/Controllers/LoginController.php +++ b/app/Controllers/LoginController.php @@ -19,17 +19,16 @@ class LoginController extends BaseController // set_session_data($session_data); // $isLoggedIn = check_session(); $isLoggedIn = check_session(); - - if ($isLoggedIn) { + $hasCookie = check_cookie(); + if ($isLoggedIn || $hasCookie) { return redirect()->to(base_url('/dashboard/view')); } return view('login'); } - + public function receiveGoogleOAuthResponse() { - $UserModel = new UserModel(); //echo 'DONE';die(); if ($this->request->getGet('code')) { @@ -52,7 +51,10 @@ class LoginController extends BaseController 'userProfile' => $value->picture, 'user_team' => $user_team, ]; - + $path = getenv('cookie.Path'); + $domain = getenv('cookie.Domain'); + $https = getenv('ccokie.secure'); + setcookie('session_data', json_encode($session_data), time() + 12 * 60 * 60, $path, $domain, $https, true); set_session_data($session_data); log_message('error', 'Set The UserId : `'. $user->id .'` in Session'); @@ -82,12 +84,14 @@ class LoginController extends BaseController public function initiateGoogleOAuth() { - return googleOAuthLogin(false); + return googleOAuthLogin(false); } public function logout() { + $path = getenv('cookie.Path'); session()->destroy(); + setcookie('session_data', '', time() - 3600, $path); return redirect()->to(base_url('login')); } diff --git a/app/Filters/AuthMVC.php b/app/Filters/AuthMVC.php index aa40610..0a9f7a6 100755 --- a/app/Filters/AuthMVC.php +++ b/app/Filters/AuthMVC.php @@ -9,8 +9,7 @@ class AuthMVC implements FilterInterface { public function before(RequestInterface $request, $arguments = null) { - if (!check_session()) { - + if (!check_session() && !check_cookie()) { return redirect()->to(base_url('/login')); } diff --git a/app/Helpers/oauth_helper.php b/app/Helpers/oauth_helper.php index a16ef36..9b3fba3 100755 --- a/app/Helpers/oauth_helper.php +++ b/app/Helpers/oauth_helper.php @@ -1,6 +1,6 @@ getUserByEmail($value['userData']->email); + if($user){ + if($user->is_active !== '0'){ + $user_team = $UserModel->getUserTeamsByUserID($user->id); + // dd($user_team); + + $session_data = [ + 'isLoggedIn' => True , + 'userid' => $user->id, + 'userData' => $user, + 'userProfile' => $value['userProfile'], + 'user_team' => $user_team, + ]; + set_session_data($session_data); + // $this->getUserDeviceInfo($user->id, 'NhanceUser'); + // return redirect()->to(base_url('/dashboard/view')); + return true; + + } + // $session_data = (array)json_decode($_COOKIE['session_data']); + // set_session_data($session_data); + } + }else{ + return false; + } +} +} if (!function_exists('check_session')) { function check_session() @@ -148,9 +183,3 @@ if (!function_exists('user_team')) { return $session->get('user_team'); } } - - - - - - diff --git a/composer.json b/composer.json index c456241..e2f8787 100755 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ "ext-mbstring": "*", "dompdf/dompdf": "^2.0", "firebase/php-jwt": "^6.10", - "google/apiclient": "^2.15.0", + "google/apiclient": "^2.18", "kreait/firebase-php": "^7.0", "laminas/laminas-escaper": "^2.9", "php-amqplib/php-amqplib": "^2.8",