Estoy creando una aplicación simple con autenticación de token base64. Para ser más seguro, se debe usar la protección CSFR. Además, quiero evitar cualquier tipo de marco o biblioteca para comprender realmente cada paso.
Llegué al punto en el que envío una solicitud de fetch con el encabezado "Authentication: Basic <base64 token>" . Para almacenar ese token, necesita algún tipo de solución de administración de estado, cookies o almacenamiento local. Para simplificar, aterricé en sessionStorage, pero inmediatamente vi el peligro:
En la página de administración tenía un if (!sessionStorage.token) window.location.href = "/"; declaración. Eso podría manipularse fácilmente con las herramientas de desarrollo de los navegadores.
Eso me hizo preguntarme, ¿cómo se valida realmente una sesión de usuario activa?
¿Es realmente posible con una solución de gestión estatal?
¿Es necesario validar el contenido de una cookie con una solicitud de obtención adicional?
¿Podría simplemente pasar el token junto con la solicitud GET para la página de administración y terminar?