Update: 2026-05-03 20:45:16
This commit is contained in:
@@ -17,10 +17,26 @@ require_once APP_PATH . '/bootstrap/env.php';
|
||||
require_once APP_PATH . '/helpers/helpers.php';
|
||||
|
||||
// 4. Core Classes (Manual autoload for simplicity)
|
||||
require_once APP_PATH . '/core/Database.php';
|
||||
require_once APP_PATH . '/core/JWT.php';
|
||||
require_once APP_PATH . '/core/Security.php';
|
||||
require_once APP_PATH . '/core/Validator.php';
|
||||
spl_autoload_register(function ($class) {
|
||||
$prefix = 'App\\';
|
||||
$base_dir = APP_PATH . '/';
|
||||
|
||||
$len = strlen($prefix);
|
||||
if (strncmp($prefix, $class, $len) !== 0) return;
|
||||
|
||||
$relative_class = substr($class, $len);
|
||||
|
||||
// Normalize path to lowercase for directories, keep filename case
|
||||
$parts = explode('\\', $relative_class);
|
||||
$filename = array_pop($parts) . '.php';
|
||||
$dir = strtolower(implode('/', $parts));
|
||||
|
||||
$file = $base_dir . ($dir ? $dir . '/' : '') . $filename;
|
||||
|
||||
if (file_exists($file)) {
|
||||
require $file;
|
||||
}
|
||||
});
|
||||
|
||||
// 5. Response Utility
|
||||
require_once APP_PATH . '/bootstrap/response.php';
|
||||
|
||||
@@ -44,7 +44,7 @@ $token = JWT::encode($payload, $secret);
|
||||
|
||||
// 4. Update Refresh Token (Simple stored in DB as requested)
|
||||
$refreshToken = bin2hex(random_bytes(32));
|
||||
$stmt = $db->prepare("UPDATE users SET refresh_token = ? WHERE id = ?");
|
||||
$stmt = $db->prepare("UPDATE users SET refresh_token_hash = ? WHERE id = ?");
|
||||
$stmt->execute([$refreshToken, $user['id']]);
|
||||
|
||||
json_success([
|
||||
|
||||
@@ -12,7 +12,7 @@ $userId = $decoded['user_id'];
|
||||
|
||||
// 2. Invalidate Refresh Token
|
||||
$db = Database::getInstance();
|
||||
$stmt = $db->prepare("UPDATE users SET refresh_token = NULL WHERE id = ?");
|
||||
$stmt = $db->prepare("UPDATE users SET refresh_token_hash = NULL WHERE id = ?");
|
||||
$stmt->execute([$userId]);
|
||||
|
||||
json_success(null, 'تم تسجيل الخروج بنجاح');
|
||||
|
||||
@@ -14,7 +14,7 @@ if (!$refreshToken) {
|
||||
}
|
||||
|
||||
$db = Database::getInstance();
|
||||
$stmt = $db->prepare("SELECT * FROM users WHERE refresh_token = ? LIMIT 1");
|
||||
$stmt = $db->prepare("SELECT * FROM users WHERE refresh_token_hash = ? LIMIT 1");
|
||||
$stmt->execute([$refreshToken]);
|
||||
$user = $stmt->fetch();
|
||||
|
||||
@@ -32,7 +32,7 @@ $payload = [
|
||||
$newToken = JWT::encode($payload, $secret);
|
||||
$newRefreshToken = bin2hex(random_bytes(32));
|
||||
|
||||
$stmt = $db->prepare("UPDATE users SET refresh_token = ? WHERE id = ?");
|
||||
$stmt = $db->prepare("UPDATE users SET refresh_token_hash = ? WHERE id = ?");
|
||||
$stmt->execute([$newRefreshToken, $user['id']]);
|
||||
|
||||
json_success([
|
||||
|
||||
Reference in New Issue
Block a user