¿Es necesario usar Protección CSRF cuando la aplicación se basa en autenticación sin estado (usando algo como HMAC)?
Ejemplo:
Tenemos una sola aplicación página (de lo contrario tenemos que añadir el token en cada enlace:
<a href="...?token=xyz">...</a>
.El usuario se autentica usando
POST /auth
. En la autenticación exitosa, el servidor devolverá algunos tokens.El token se almacenará a través de JavaScript en alguna variable dentro de la aplicación de página única.
Este token se usará para acceder a URL restringidas como
/admin
.El token siempre se transmitirá dentro de los encabezados HTTP.
No hay sesión HTTP y NO cookies.
Por lo que entiendo, no debería haber (?!) posibilidad de usar ataques entre sitios, porque el navegador no almacenará el token y, por lo tanto, no puede enviarlo automáticamente al servidor (eso es lo que sucedería al usar Cookies / Sesión).
¿Me estoy perdiendo de algo?