Hemos estado trabajando con SPAs que POST
a través de credenciales a la API y reciben un JWT (token de acceso) y token de actualización. Los tokens se almacenan, en función del "Manténgame conectado", en el almacenamiento de sesión o en el almacenamiento local.
Mirando a enlace , sugieren (a través de OAuth 2.0, seguro, pero creo que es el mismo concepto) que no se debe confiar a los SPA con tokens de portador. En su lugar, deberíamos hacer una autenticación silenciosa al (en su caso) tener un iframe oculto y tomar el token de acceso directamente.
Básicamente, mi pregunta es, ¿por qué está el consejo aquí, "Los SPA no pueden usar Tokens de actualización" ? En su ejemplo de uso de un iframe, supongo que se está almacenando una cookie para su dominio de inicio de sesión de OAuth. ¿Cómo es eso inherentemente mejor?
¿Qué más podría faltar?
Editar: estoy en lo cierto al pensar que XSS es más posible cuando se usa el almacenamiento de sesión, CSRF es más posible cuando se usan cookies, y por lo tanto la respuesta es, si tiene alta confianza, uno de ellos (XSS / CSRF) está protegido, ¿Entonces ese almacenamiento asociado (sesión / cookies) es el camino a seguir?