Hecho con Chinaski

Autenticación

Autenticación

Iniciar sesión en Chinaski, cómo funcionan las sesiones y qué se necesita para invalidar una. Todo aquí cubre la aplicación de admin; el acceso a la API por máquinas es un mecanismo separado mencionado al final. (Esta página se limita a login y sesiones; el modelo de permisos está cubierto por su propia página.)

Iniciar sesión

Inicias sesión con un usuario y contraseña en la pantalla de login. Unas cuantas cosas que conviene saber trabajan tras bambalinas:

  • Los envíos vacíos se rechazan antes de que pase cualquier otra cosa.
  • Las verificaciones de contraseña toman la misma cantidad de tiempo independientemente de si el usuario existe o no, así que el site nunca insinúa qué cuentas son reales.
  • Una cuenta suspendida es rechazada con el mismo mensaje genérico (la suspensión es inmediata; ver abajo).
  • Cada inicio de sesión exitoso crea una sesión nueva desde cero (nada se hereda de la sesión anterior) y el ingreso se registra en el historial de login que los admins pueden ver.

Si marcas Remember me, la sesión dura 30 días en lugar de las 8 horas habituales.

Bloqueos

Fallar el login repetidamente desde la misma dirección IP dispara bloqueos escalonados:

  • 5 fallos consecutivos → bloqueo de 60 segundos
  • 10 → 5 minutos
  • 20 → 30 minutos

Mientras estés bloqueado, todos los intentos posteriores se rechazan de plano y se muestra la espera restante. Los contadores sobreviven a los reinicios y se restablecen solos después de 10 minutos de inactividad. Estos umbrales son fijos; no se pueden cambiar en el área de admin. Lo que los admins sí pueden configurar (Settings → Security, failure threshold) es una alerta separada: cuando los intentos fallidos o bloqueados en cualquier ventana de 10 minutos alcanzan ese número, se escribe una advertencia en el event log.

Sesiones

Una sesión está anclada en dos lugares a la vez: una cookie firmada, segura y HttpOnly, y un registro de sesión del lado servidor que contiene un token de sesión aleatorio con hash, dirección IP, identificador de navegador y expiración.

Como el servidor conserva un registro, las sesiones se validan en cada petición, no solo en el login:

  • Los cambios de rol surten efecto de inmediato. Tu rol se relee del registro de cuenta en cada petición, así que un descenso o ascenso no requiere re-login.
  • Borrar una cuenta termina sus sesiones de inmediato.
  • Un token expirado o revocado termina la sesión al instante con "Your session has been revoked."
  • Las sesiones expiran por sí solas después de 8 horas (o 30 días con Remember me). Las sesiones SSO siempre son de 8 horas.
  • Todos los formularios de admin incluyen protección CSRF, así que enlaces o páginas de terceros no pueden enviar acciones de contenido en tu nombre.

Cerrar sesión e invalidar sesiones

  • Sign out termina la sesión actual: el registro del lado servidor se elimina y la cookie expira de inmediato. La página de logout funciona incluso cuando ya estás deslogueado, así que nunca es un callejón sin salida.
  • Log out everywhere (tu página de cuenta) invalida todas las sesiones excepto la que estás usando ahora mismo, así que no te expulsa de tu propia pestaña actual; los otros dispositivos y navegadores quedan cortados.
  • Suspensión (acción de admin) invalida las sesiones de ese usuario inmediatamente. No espera hasta su próximo ingreso.
  • Cambiar la contraseña de alguien (acción de admin) también elimina todas sus sesiones, así que la nueva contraseña surte efecto en el próximo ingreso.

Expiración de contraseñas

Si la expiración de contraseñas está configurada (Settings → Security), la verificación corre en el login: cuando tu contraseña es más antigua que el número de días configurado, te llevan directo a la página de cambio de contraseña con un aviso. Hasta que la cambies, todas las demás páginas de admin te rebotan ahí; las únicas páginas que permanecen alcanzables son el cambio de contraseña mismo y el cierre de sesión.

Roles y puertas de acceso

Lo que un usuario logueado puede hacer está gobernado por el sistema de permisos, ver la página de Permissions. La misma puerta que revisa permisos también revalida la sesión cada vez, así que revocar el acceso siempre sucede en la siguiente petición en lugar de en algún re-login posterior.

Restablecimientos de contraseña

Los tokens de reset de contraseña (donde estén configurados) expiran todos dentro de 7 días a lo sumo; los tokens usados o expirados se limpian automáticamente. Alternativamente, un admin puede establecerte una nueva contraseña directamente; eso también invalida tus sesiones inmediatamente.

Acceso de máquinas (API)

Las peticiones enviadas con un header de API key se saltan la sesión de navegador por completo: se autentican por la key en su lugar, y el header debe presentar permiso de escritura para cualquier petición que modifique contenido. Las keys de solo lectura tienen acceso a obtener datos; una exención CSRF solo aplica a esas peticiones con API key, nunca a sesiones de navegador.

Primer arranque

Una instalación nueva crea una cuenta de admin con una contraseña placeholder y redirige todas las peticiones a una página de configuración de primer arranque hasta que se establezca una contraseña real. Una vez establecida una contraseña (12+ caracteres con mayúscula, minúscula y dígito), la página de configuración desaparece para siempre.

Lee este sitio en