Files
hmngy_pasarela_Frontend/ManipulacionUser.php
LuisAngelSalinasl 8fcbb98114 Primer Commit
2025-08-04 18:51:41 -06:00

111 lines
3.4 KiB
PHP

<?php
// Operación a realizar: consulta, inserción, actualización, eliminación, etc.
$operacion = isset($_POST['operacion']) ? $_POST['operacion'] : '';
// Datos relacionados con la operación
$correo = isset($_POST['Correo']) ? $_POST['Correo'] : '';
$nombre = isset($_POST['Nombre']) ? $_POST['Nombre'] : '';
$ceco = isset($_POST['Ceco']) ? $_POST['Ceco'] : '';
$contrasena = isset($_POST['Contrasena']) ? $_POST['Contrasena'] : '';
$fecha = isset($_POST['Fecha']) ? $_POST['Fecha'] : '';
$unidad = isset($_POST['Unidad_de_negocio']) ? $_POST['Unidad_de_negocio'] : '';
$centro = isset($_POST['Centro']) ? $_POST['Centro'] : '';
$esta = isset($_POST['Estatus']) ? $_POST['Estatus'] : '';
$foto = isset($_POST['Foto']) ? $_POST['Foto'] : '';
$rol = isset($_POST['Rol']) ? $_POST['Rol'] : '';
$correop = isset($_POST['Correoprov']) ? $_POST['Correoprov'] : '';
// Realizar la operación según el valor de la variable $operacion
switch ($operacion) {
case 'Inicio':
$data = array(
'correo' => $correo,
'password' => $contrasena,
);
// API Key
include ('rutasApi.php');
"$api_key_definition: $api_key";
// Inicializar cURL
$ch = curl_init();
// Establecer la URL
$url = $loginUser;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"$api_key_definition: $api_key"
)
);
// Configurar para recibir la respuesta como cadena
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Ejecutar la petición
$response = curl_exec($ch);
// Verificar si hay errores
if ($response === false) {
echo "Error al realizar la solicitud.";
} else {
// Decodificar la respuesta JSON
$user = json_decode($response, true);
if($user['estatus']==0)
{
echo json_encode(['resultado' => -1, 'mensaje' => 'Credenciales Incorrectas']);
}
session_start();
// Almacenar los datos del usuario en variables de sesión
$_SESSION['user_id'] = $user['correo'];
$_SESSION['username'] = $user['nombre'];
//$_SESSION['CeCo'] = $user['ceco']??'';
//$_SESSION['Unidad_de_negocio'] = $user['unidad'];
//$_SESSION['centro'] = $user['centro'];
$_SESSION['rol'] = $user['rol'];
if (!isset($_SESSION['csrf_token'])) {
$_SESSION['csrf_token'] = bin2hex(random_bytes(32)); // Genera un token CSRF de 32 bytes
}
setcookie('csrf_token', $_SESSION['csrf_token'], 0, '/');
if ($_SESSION['rol'] == '0') {
echo '1';
} else if ($_SESSION['rol'] == '1') {
echo 'admin';
} else if ($_SESSION['rol'] == '99') {
echo 'admin';
}
exit();
}
curl_close($ch);
break;
default:
// Operación no válida
echo json_encode(['resultado' => -1, 'mensaje' => 'Operación no válida']);
break;
}
function validarSesion()
{
session_start();
if (!isset($_COOKIE['csrf_token']) || $_COOKIE['csrf_token'] !== $_SESSION['csrf_token']) {
http_response_code(403);
exit();
}
}