Skip to content

Commit 7a25e34

Browse files
committed
Mensajes de error con el formato y comentarios
1 parent 0d03da6 commit 7a25e34

File tree

1 file changed

+25
-11
lines changed

1 file changed

+25
-11
lines changed

controllers/AuthController.php

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php
22
require_once __DIR__ . '/../config/db.php';
33
require_once __DIR__ . '/../vendor/autoload.php';
4+
require_once __DIR__ . '/../response.php';
45

56
class AuthController
67
{
@@ -14,46 +15,59 @@ public function __construct()
1415

1516
public function generarToken($user_auth_id)
1617
{
17-
// Generar un token aleatorio
18-
$token = substr(md5(uniqid(rand(), true)), 0, 5);
18+
// GENERAR EL TOKEN 5 CARACTERES ALEATORIOS
19+
$token = substr(bin2hex(random_bytes(3)), 0, 5);
1920

20-
// Insertar el token en la base de datos
21+
// GUARDAR EL TOKEN EN LA BASE DE DATOS
2122
$sql = "INSERT INTO verification_tokens (user_auth_id, token, created_at) VALUES ($user_auth_id, '$token', NOW())";
2223
if ($this->conn->query($sql) === TRUE) {
2324
return $token;
2425
} else {
25-
return false;
26+
jsonResponse(["message" => "Error al generar el token. Por favor, intente nuevamente."], 500);
27+
exit;
2628
}
2729
}
2830

2931
public function verifyToken($user_auth_id, $token)
3032
{
31-
// Verificar si el token es válido y no ha expirado
33+
// VERIFICAR QUE EL TOKEN SEA VÁLIDO
3234
$sql = "SELECT token FROM verification_tokens WHERE user_auth_id = $user_auth_id AND token = '$token'";
3335
$result = $this->conn->query($sql);
36+
if (!$result) {
37+
// SI HAY ERROR AL EJECUTAR LA CONSULTA
38+
jsonResponse(["message" => "Error al verificar el token. Por favor, intente nuevamente."], 500);
39+
exit;
40+
}
3441
if ($result->num_rows > 0) {
3542
$row = $result->fetch_assoc();
43+
44+
// ESTO ES PARA CALCULAR LOS TIEMPOS DE LOS TOKENS CREADOS ANTERIORMENTE
3645
$tokenCreatedAt = new DateTime($row['created_at']);
3746
$currentTime = new DateTime();
3847

3948
$interval = $currentTime->diff($tokenCreatedAt);
4049
$minutesPassed = ($interval->days * 24 * 60) + ($interval->h * 60) + $interval->i;
4150

51+
// SI EL TOKEN SE CREO HACE MAS DE 30 MIN SE BORRA DE LA BASE DE DATOS
4252
if ($minutesPassed <= 30) {
43-
// Eliminar tokens antiguos ya usados de este usuario
4453
$sqlDelete = "DELETE FROM verification_tokens WHERE user_auth_id = $user_auth_id";
45-
$this->conn->query($sqlDelete);
54+
if ($this->conn->query($sqlDelete) === FALSE) {
55+
jsonResponse(["message" => "Error al eliminar el token antiguo. Por favor, intente nuevamente."], 500);
56+
exit;
57+
}
4658
return true;
4759
}
4860
}
49-
// Token expiro o no se hallo ninguno
5061
return false;
5162
}
5263

64+
// ESTA FUNCIÓN ES PARA BORRAR TODOS LOS TOKENS QUE SE CREARON HACE MAS DE 30 MIN EN LA BASE DE DATOS
5365
public function deleteOldToken()
5466
{
55-
// Eliminar tokens que tengan más de 30 minutos de haber sido creados
5667
$sql = "DELETE FROM verification_tokens WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 MINUTE)";
57-
$this->conn->query($sql);
68+
if ($this->conn->query($sql) === FALSE) {
69+
jsonResponse(["message" => "Error al eliminar tokens antiguos. Por favor, intente nuevamente."], 500);
70+
exit;
71+
}
5872
}
59-
}
73+
}

0 commit comments

Comments
 (0)