Con el fin de asegurar la API REST usando JWT, de acuerdo con algunos materiales (como esta guía y esta pregunta ), el JWT se puede almacenar en localStorage o Cookies . Basado en mi entendimiento:
- localStorage está sujeto a XSS y, por lo general, no se recomienda almacenar información confidencial en él.
- Con las Cookies podemos aplicar la bandera "httpOnly" que mitiga el riesgo de XSS. Sin embargo, si vamos a leer el JWT de las cookies en el backend, estamos sujetos a CSRF.
Entonces, según la premisa anterior, será mejor si almacenamos JWT en cookies. En cada solicitud al servidor, el JWT se leerá de las Cookies y se agregará en el encabezado de Autorización utilizando el esquema de Portador. Luego, el servidor puede verificar el JWT en el encabezado de la solicitud (en lugar de leerlo de las cookies).
¿Es correcto mi entendimiento? Si es así, ¿el enfoque anterior tiene algún problema de seguridad? ¿O en realidad podemos salirse con la nuestra usando localStorage en primer lugar?