Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

519
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!