Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

521
Vistas
Opciones para almacenamiento de tokens y actualización en SPA

He estado leyendo el borrador de Aaron Parecki de las mejores prácticas de autenticación de aplicaciones basadas en navegador (es decir, SPA como las desarrolladas con React o Angular) con OAuth 2, así como las pautas de seguridad de OWASP, y me dejó realmente confundido:

  1. El borrador del RFC menciona la rotación de tokens de actualización. Ahora, ¿cómo haría eso mientras me adhiero a la restricción sin estado de REST? ¿Incluyo algún resumen de una cadena aleatoria en la cookie y el token de actualización también y compruebo si son iguales?
  2. ¿Cuál es la forma correcta (o más bien, algunas de las formas más seguras) de almacenar tokens de actualización en el navegador? Revisé la biblioteca de autenticación JS de okta, y usa localStorage de manera predeterminada, lo que no recomiendan las pautas de OWASP. ¿Tiene algún tipo de protección extra? ¿Debería ponerle un resumen adicional y también ponerlo en una cookie y combinarlos?
  3. OWASP recomienda que las ID de sesión sean completamente opacas para el cliente, pero si usamos JWT, ¿no viola este principio? ¿Significa esto que siempre debo cifrar mis JWT con un cifrado simétrico?

Algunas referencias:

  • https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps-04#section-4
  • https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/HTML5_Security_Cheat_Sheet.md
  • https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/JSON_Web_Token_Cheat_Sheet_for_Java.md
  • https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Session_Management_Cheat_Sheet.md
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

FLUJO DE SPA TRADICIONAL

En el flujo de SPA tradicional, era estándar usar iframes para renovar tokens de forma silenciosa .

Mientras tanto, los tokens de acceso se almacenaron mejor solo en la memoria y también deberían ser de corta duración. Todavía había amenazas de capturar tokens en tránsito, algunas de las cuales se exploran en esta publicación mía .

ACTUALIZACIÓN 2021

Hay dos grandes cambios en los navegadores que están relacionados con la actualización del token SPA:

  • Los navegadores colocan cookies de terceros de manera agresiva, lo que significa que la actualización del token SPA tradicional ya no funciona de manera confiable (por ejemplo, en el navegador Safari)

  • La seguridad de las cookies del navegador se ha fortalecido a través de las cookies SameSite=strict , y las preocupaciones sobre las amenazas XSS (video) han aumentado

PARTE TRASERA PARA LA PARTE DELANTERA

Por lo tanto, ahora se recomienda almacenar tokens de actualización en HTTP solo cifrado SameSite=strict . Esto se hace mejor de una manera impulsada por API, para evitar afectar la arquitectura web. Consulte esta publicación de blog para obtener algunas prácticas recomendadas actualizadas y enlaces a recursos, incluido un ejemplo de código React.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda