Actualiser api/auth.php

This commit is contained in:
2026-07-21 16:18:08 +02:00
parent 69ee7a9542
commit 7dd4e683c5
-17
View File
@@ -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,56 +15,44 @@ 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);
@@ -85,11 +72,9 @@ 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'];
@@ -101,7 +86,6 @@ function login() {
if (!$user || !password_verify($password, $user['password'])) {
jsonResponse(['error' => 'Identifiants incorrects'], 401);
}
$token = generateToken($user['id']);
jsonResponse([
@@ -120,7 +104,6 @@ function login() {
function getCurrentUserInfo() {
$user = requireAuth();
jsonResponse([
'success' => true,
'user' => $user