From 77d7d9faf85f07861e5c24a5cae89bf14e2d449b Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sat, 1 Aug 2026 17:57:47 +0300 Subject: [PATCH] Fix JWT validation: use user_id instead of sub in socket servers, revert statusDriverLocation from toggleActive --- .../lib/controller/home/captin/home_captain_controller.dart | 3 --- loction_server/driver_socket.php | 2 +- passenger_server/passenger_socket.php | 2 +- ride_server/passenger_socket.php | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/intaleq_driver/lib/controller/home/captin/home_captain_controller.dart b/intaleq_driver/lib/controller/home/captin/home_captain_controller.dart index 7cda3ae..3600b8a 100755 --- a/intaleq_driver/lib/controller/home/captin/home_captain_controller.dart +++ b/intaleq_driver/lib/controller/home/captin/home_captain_controller.dart @@ -387,7 +387,6 @@ class HomeCaptainController extends GetxController { _checkFatigueBeforeOnline(); // Throws exception if tired if (double.parse(totalPoints) > minPointsThreshold) { - box.write(BoxName.statusDriverLocation, 'on'); locationController.startLocationUpdates(); HapticFeedback.heavyImpact(); activeStartTime = DateTime.now(); @@ -412,7 +411,6 @@ class HomeCaptainController extends GetxController { update(); }); } else { - box.write(BoxName.statusDriverLocation, 'off'); locationController.stopLocationUpdates(); activeStartTime = null; activeTimer?.cancel(); @@ -427,7 +425,6 @@ class HomeCaptainController extends GetxController { update(); } } else { - box.write(BoxName.statusDriverLocation, 'off'); locationController.stopLocationUpdates(); activeStartTime = null; activeTimer?.cancel(); diff --git a/loction_server/driver_socket.php b/loction_server/driver_socket.php index f90acbb..0cb9bd3 100755 --- a/loction_server/driver_socket.php +++ b/loction_server/driver_socket.php @@ -731,7 +731,7 @@ $io->on('connection', function ($socket) use ($INTERNAL_KEY) { } else { $decoded = JWT::decode($jwtToken, new Key($secretKey, 'HS256')); // Validate that the token belongs to this driver - if ((string)$decoded->sub !== (string)$driverId || $decoded->role !== 'driver') { + if ((string)$decoded->user_id !== (string)$driverId || $decoded->role !== 'driver') { logMsg("🚫 Connection Rejected: Invalid JWT for driver_id=$driverId"); $socket->disconnect(); return; diff --git a/passenger_server/passenger_socket.php b/passenger_server/passenger_socket.php index 79414cf..cc3f675 100644 --- a/passenger_server/passenger_socket.php +++ b/passenger_server/passenger_socket.php @@ -209,7 +209,7 @@ $io->on('connection', function ($socket) { socket_log("[WARNING] JWT Secret is not configured on the server!"); } else { $decoded = JWT::decode($jwtToken, new Key($secretKey, 'HS256')); - if ((string)$decoded->sub !== (string)$passengerId || $decoded->role !== 'passenger') { + if ((string)$decoded->user_id !== (string)$passengerId || $decoded->role !== 'passenger') { socket_log("[SOCKET_REJECTED] Connection rejected: Invalid JWT for passenger_id=$passengerId from IP: $clientIp"); $socket->disconnect(); return; diff --git a/ride_server/passenger_socket.php b/ride_server/passenger_socket.php index 4d5d499..4e39c2e 100755 --- a/ride_server/passenger_socket.php +++ b/ride_server/passenger_socket.php @@ -221,7 +221,7 @@ $io->on('connection', function ($socket) { socket_log("[WARNING] JWT Secret is not configured on the server!"); } else { $decoded = JWT::decode($jwtToken, new Key($secretKey, 'HS256')); - if ((string)$decoded->sub !== (string)$passengerId || $decoded->role !== 'passenger') { + if ((string)$decoded->user_id !== (string)$passengerId || $decoded->role !== 'passenger') { socket_log("[SOCKET_REJECTED] Connection rejected: Invalid JWT for passenger_id=$passengerId from IP: $clientIp"); $socket->disconnect(); return;