Escuché que se recomienda almacenar tokens JWT de la siguiente manera:
access_token en la memoria de la aplicación (como ejemplo me dieron - cierres)refresh_token en entradas de cookies (HttpOnly) Por el momento, mi access_token está almacenado en localStorage y se toma para verificar el estado de autorización:
isLoggedIn: state => !!state.token en Vuex
refresh_token se almacena en cookies.
Quiero alejarme de esto. Me pregunto cómo seguir almacenando access_token en el cierre .
Mantener el token en un cierre dependerá de la implementación exacta que use y es un poco difícil de demostrar sin ningún código de ejemplo. ¿Tal vez podría publicar partes del código donde obtiene el token de acceso y dónde lo usa?
Sin embargo, para almacenar el token en la memoria, no tiene que ser un cierre. Incluso puede mantenerlo en el estado de vue, si no usa ningún complemento que persista en el estado en el almacenamiento local.
Si desea mantener todos sus tokens en una cookie de solo http, puede lograrlo agregando un componente de back-end liviano, que manejará los tokens por usted. Agrega un poco de complejidad a su aplicación, pero aumenta la seguridad. Es lo que llamamos en Curity el patrón del controlador de tokens: https://curity.io/resources/learn/the-token-handler-pattern/