68 lines
1.8 KiB
PHP
68 lines
1.8 KiB
PHP
<?php
|
|
// Iniciar sesión con configuración segura
|
|
require_once '../config/config.php';
|
|
session_start();
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
require_once '../config/pins.php';
|
|
|
|
// Verificar que la solicitud sea POST
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
$data = json_decode(file_get_contents('php://input'), true);
|
|
|
|
if (isset($data['pin'])) {
|
|
$pin = $data['pin'];
|
|
$usuario = validarPin($pin);
|
|
|
|
if ($usuario) {
|
|
// PIN válido - crear sesión
|
|
$_SESSION['autenticado'] = true;
|
|
$_SESSION['usuario'] = $usuario;
|
|
$_SESSION['pin'] = $pin;
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'usuario' => $usuario,
|
|
'mensaje' => 'Acceso concedido'
|
|
]);
|
|
} else {
|
|
// PIN inválido
|
|
echo json_encode([
|
|
'success' => false,
|
|
'mensaje' => 'PIN incorrecto'
|
|
]);
|
|
}
|
|
} else {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'mensaje' => 'PIN no proporcionado'
|
|
]);
|
|
}
|
|
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
|
// Verificar si hay sesión activa
|
|
if (isset($_SESSION['autenticado']) && $_SESSION['autenticado']) {
|
|
echo json_encode([
|
|
'autenticado' => true,
|
|
'usuario' => $_SESSION['usuario']
|
|
]);
|
|
} else {
|
|
echo json_encode([
|
|
'autenticado' => false
|
|
]);
|
|
}
|
|
} elseif ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
|
|
// Cerrar sesión
|
|
session_destroy();
|
|
echo json_encode([
|
|
'success' => true,
|
|
'mensaje' => 'Sesión cerrada'
|
|
]);
|
|
} else {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'mensaje' => 'Método no válido'
|
|
]);
|
|
}
|
|
?>
|