diff --git a/backend/auth/otp/verify.php b/backend/auth/otp/verify.php index 4bb10854..524d578a 100644 --- a/backend/auth/otp/verify.php +++ b/backend/auth/otp/verify.php @@ -196,10 +196,21 @@ try { $driverID = substr(md5($phone_number), 0, 16); } + // Generate JWT tokens for driver + $audDriver = filterRequest("aud") ?: filterRequest("audience") ?: (getenv('allowedDriver2') ?: 'driver-app:ios'); + $fpDriver = filterRequest("fingerprint") ?? filterRequest("fingerPrint"); + $jwtSvc = new JwtService($redis); + $accessToken = $jwtSvc->generateAccessToken($driverID, 'driver', $audDriver, $fpDriver); + $refreshToken = $jwtSvc->generateRefreshToken($driverID, 'driver', $audDriver); + jsonSuccess([ "isRegistered" => $isRegistered, "driver" => $driverData, - "driverID" => $driverID + "driverID" => $driverID, + "jwt" => $accessToken, + "token" => $accessToken, + "access_token" => $accessToken, + "refresh_token" => $refreshToken ], "Your phone number has been verified."); } else { jsonError("Your phone number could not be verified or the code is expired. Please try again."); @@ -256,6 +267,7 @@ try { // Check registration status $isRegistered = false; $passengerData = null; + $passengerID = ''; $chkStmt = $con->prepare("SELECT id, first_name, last_name, email, phone FROM passengers WHERE phone = ?"); $chkStmt->execute([$encryptionHelper->encryptData($phone_number)]); @@ -268,11 +280,25 @@ try { $passenger['email'] = $encryptionHelper->decryptData($passenger['email']); $passenger['phone'] = $encryptionHelper->decryptData($passenger['phone']); $passengerData = $passenger; + $passengerID = (string)$passenger['id']; + } else { + $passengerID = substr(md5($phone_number), 0, 16); } + + // Generate JWT tokens for passenger + $audPass = filterRequest("aud") ?: filterRequest("audience") ?: (getenv('allowed2') ?: 'passenger-app:ios'); + $fpPass = filterRequest("fingerprint") ?? filterRequest("fingerPrint"); + $jwtSvc = new JwtService($redis); + $accessToken = $jwtSvc->generateAccessToken($passengerID, 'passenger', $audPass, $fpPass); + $refreshToken = $jwtSvc->generateRefreshToken($passengerID, 'passenger', $audPass); jsonSuccess([ "isRegistered" => $isRegistered, - "passenger" => $passengerData + "passenger" => $passengerData, + "jwt" => $accessToken, + "token" => $accessToken, + "access_token" => $accessToken, + "refresh_token" => $refreshToken ], "Your phone number has been verified."); } else { jsonError("Your phone number could not be verified or the code is expired. Please try again.");