Este artículo trata sobre el almacenamiento de tokens de sesión en una cookie vs en localStorage: enlace
El artículo dice:
Las cookies, cuando se usan con la marca de cookie HttpOnly, no son accesibles a través de JavaScript, y son inmunes a XSS .
Sin embargo, si un script inyectado realiza solicitudes del mismo origen (por ejemplo, llamadas a la API), las cookies se incluyen con él. Así que no importa si JavaScript no tiene acceso a él.
El final del artículo dice:
Stormpath recomienda que almacene su JWT en cookies para web aplicaciones ... HTML5 Web Storage es vulnerable a XSS ...
¿Las cookies y el almacenamiento local no son vulnerables a XSS? Con las cookies, el atacante no puede obtener la cookie y almacenarla, pero eso no es necesario de todos modos si puede autenticarse utilizando la cookie.