prepare($sql); $stmt->execute([':fp' => $fpHash]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { // التحقق من كلمة المرور if (password_verify($password, $user['password'])) { // فك تشفير البيانات للعرض في التطبيق $user['first_name'] = $encryptionHelper->decryptData($user['first_name']) ?: $user['first_name']; $user['last_name'] = $encryptionHelper->decryptData($user['last_name']) ?: $user['last_name']; $user['email'] = $encryptionHelper->decryptData($user['email']) ?: $user['email']; $user['phone'] = $encryptionHelper->decryptData($user['phone']) ?: $user['phone']; unset($user['password']); // توليد التوكن $jwtService = new JwtService($redis); $role = 'service'; $jwt = $jwtService->generateAccessToken($user['id'], $role, $audience); printSuccess([ "message" => "Login successful", "data" => $user, "jwt" => $jwt, "expires_in" => 3600 ]); } else { jsonError("Incorrect password"); } } else { jsonError("الجهاز غير مسجل لموظف خدمة."); } } catch (Exception $e) { error_log("[ServiceApp Login Error] " . $e->getMessage()); jsonError("Server error: " . $e->getMessage()); } exit();