<?php
require_once __DIR__ . '/bootstrap.php';

// Endurecer cookie de sesión
@ini_set('session.use_strict_mode', 1);
@ini_set('session.cookie_httponly', 1);
@ini_set('session.cookie_samesite', 'Lax');
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') {
    @ini_set('session.cookie_secure', 1);
}

if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();
}

$body = json_decode(file_get_contents('php://input'), true) ?: [];
$usuario = trim((string)($body['usuario'] ?? ''));
$password = (string)($body['clave'] ?? '');

if ($usuario === '' || $password === '') {
    json_error('usuario y clave son obligatorios', 422);
}

// Credenciales desde .env (con defaults del .env.example)
$userEnv = envv('API_BASIC_USER', 'api');
$passEnv = envv('API_BASIC_PASS', 'API#2025');

// Comparación directa; si quisieras hash, usar Password::verify
if (hash_equals($userEnv, $usuario) && hash_equals($passEnv, $password)) {
    // Regenerar ID para evitar fixation
    session_regenerate_id(true);
    $_SESSION['user'] = $usuario;
    $_SESSION['rol'] = 'admin';

    json_success([
        'user' => $usuario,
        'rol' => 'admin',
        'session_id' => session_id()
    ], 'Login OK');
}

json_error('Credenciales inválidas', 401);
