Actualizar tokens con SPAs

3

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?

    
pregunta Kieren Johnstone 20.02.2018 - 21:04
fuente

1 respuesta

1

El nivel de seguridad es el mismo si usted:

  • tiene encabezado HTTP: X-Frame-Options: SAMEORIGIN

  • encabezado: X-XSS-Protection: 1; mode = bloque

  • SSL con encabezado HSTS

  • si usa una cookie para protegerla, use tokens CSRF.

Dicen que iframe solo para ocultar las actualizaciones de los usuarios no más que eso, pero la seguridad permanece en el mismo nivel que sin ella si se hace arriba.

    
respondido por el Hrvoje Milković 21.02.2018 - 18:41
fuente

Lea otras preguntas en las etiquetas