🔍 Diagnóstico del Sistema de Autenticación

✅ Conexión a base de datos: OK

1. Verificando tabla admin_users

✅ Tabla admin_users existe

Estructura de la tabla:

CampoTipoNullKeyDefault
idint(11)NOPRI
usernamevarchar(50)NOUNI
password_hashvarchar(255)NO
emailvarchar(100)YESUNI
full_namevarchar(100)YES
roleenum('administrator','moderator')YESadministrator
is_activetinyint(1)YES1
created_attimestampYEScurrent_timestamp()
updated_attimestampYEScurrent_timestamp()
last_logintimestampYESMUL
last_activitytimestampYES
login_attemptsint(11)YESMUL0
locked_untiltimestampYESMUL
password_changed_attimestampYEScurrent_timestamp()
reset_tokenvarchar(255)YES
reset_token_expirestimestampYES

2. Verificando usuarios existentes

✅ Usuarios encontrados: 1
IDUsuarioEmailActivoIntentosBloqueado hastaÚltimo login
1adminadmin@libreria.local02025-11-05 14:28:27

3. Creando usuario admin si no existe

✅ Usuario 'admin' ya existe

4. Test de verificación de contraseña

Hash almacenado: $2y$10$58RrDC8QSb2qd.nXMmvEY.Un/GyFScUNB9OsBe7rMDdScZjUu15oO
Contraseña de prueba: LibreriaAdmin2025!
Verificación: ❌ INCORRECTO

PROBLEMA: La contraseña no coincide con el hash
SOLUCIÓN: Regenerar la contraseña...
✅ Contraseña regenerada correctamente
Nuevo hash: $2y$10$RYDXRuhhZmxPD9XMdwVRkeWWY.mXXR2rZOf296zWSGNUkT6fz8GxS

5. Test de función login

Probando login con credenciales: admin / LibreriaAdmin2025!
✅ Login exitoso
Sesión iniciada: Sí
Usuario actual: admin
Datos del usuario:
Array
(
    [id] => 1
    [username] => admin
    [email] => admin@libreria.local
    [full_name] => Administrador Principal
    [role] => administrator
    [login_time] => 1762688697
    [last_login] => 2025-11-09 11:44:57
    [password_changed_at] => 2025-11-03 11:41:54
)

6. Información de PHP

Versión PHP: 8.2.29
password_hash disponible: Sí
password_verify disponible: Sí
Test básico hash/verify: ✅ OK

📋 Resumen

Si ves errores arriba, estos son los pasos para solucionarlos:

  1. Si la tabla no existe: Ejecuta el script de instalación de usuarios
  2. Si no hay usuarios: Este script ya creó el usuario admin
  3. Si la contraseña no funciona: Este script ya la regeneró
  4. Si el login falla: Revisa el archivo config/auth.php

Credenciales actuales:

🔐 Probar Login


Elimina este archivo (debug_auth.php) después de solucionar el problema.