From 7dd4e683c5d3146358d888b062a1e805fd5da3a6 Mon Sep 17 00:00:00 2001 From: Cedric Date: Tue, 21 Jul 2026 16:18:08 +0200 Subject: [PATCH] Actualiser api/auth.php --- api/auth.php | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/api/auth.php b/api/auth.php index 0aee4f7..3f844bd 100644 --- a/api/auth.php +++ b/api/auth.php @@ -2,7 +2,6 @@ ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); - require_once 'config.php'; $method = $_SERVER['REQUEST_METHOD']; @@ -16,59 +15,47 @@ switch ($method) { login(); } break; - case 'GET': if ($action === 'me') { getCurrentUserInfo(); } break; - default: jsonResponse(['error' => 'Méthode non autorisée'], 405); } function register() { $data = getJsonInput(); - if (!isset($data['username']) || !isset($data['email']) || !isset($data['password'])) { jsonResponse(['error' => 'Tous les champs sont requis'], 400); } - $username = trim($data['username']); $email = trim($data['email']); $password = $data['password']; - - // Validation + if (strlen($username) < 3) { jsonResponse(['error' => 'Le nom d\'utilisateur doit contenir au moins 3 caractères'], 400); } - if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { jsonResponse(['error' => 'Email invalide'], 400); } - if (strlen($password) < 6) { jsonResponse(['error' => 'Le mot de passe doit contenir au moins 6 caractères'], 400); } - + $db = getDB(); - - // Vérifier si l'utilisateur existe déjà $stmt = $db->prepare("SELECT id FROM users WHERE username = ? OR email = ?"); $stmt->execute([$username, $email]); - if ($stmt->fetch()) { jsonResponse(['error' => 'Ce nom d\'utilisateur ou cet email existe déjà'], 409); } - - // Créer l'utilisateur + $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $stmt = $db->prepare("INSERT INTO users (username, email, password, role) VALUES (?, ?, ?, 'user')"); $stmt->execute([$username, $email, $hashedPassword]); - $userId = $db->lastInsertId(); $token = generateToken($userId); - + jsonResponse([ 'success' => true, 'message' => 'Compte créé avec succès', @@ -85,25 +72,22 @@ function register() { function login() { $data = getJsonInput(); - if (!isset($data['username']) || !isset($data['password'])) { jsonResponse(['error' => 'Nom d\'utilisateur et mot de passe requis'], 400); } - $username = trim($data['username']); $password = $data['password']; - + $db = getDB(); $stmt = $db->prepare("SELECT id, username, email, password, role, points FROM users WHERE username = ?"); $stmt->execute([$username]); $user = $stmt->fetch(); - + if (!$user || !password_verify($password, $user['password'])) { jsonResponse(['error' => 'Identifiants incorrects'], 401); } - $token = generateToken($user['id']); - + jsonResponse([ 'success' => true, 'message' => 'Connexion réussie', @@ -120,7 +104,6 @@ function login() { function getCurrentUserInfo() { $user = requireAuth(); - jsonResponse([ 'success' => true, 'user' => $user