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

465
Views
¿Debería uno usar el almacenamiento local para persistir y recargar el estado redux y JWT en los reinicios del navegador?

¿Existe alguna regla con respecto a cuándo usar el almacenamiento local o no almacenar información de estado si tengo redux?

Por ejemplo, si tengo algún formulario en línea, entonces

Q1. ¿Debería conservar su estado (valores actualmente llenos) en el almacenamiento local, por ejemplo, cuando el usuario cierra la pestaña o el navegador, para poder volver a cargar el estado en redux desde el almacenamiento local cuando el usuario vuelve a visitar la página web? ¿Existe alguna consideración de seguridad bien conocida/documentada para almacenar el estado redux en el almacenamiento local?

Q2. ¿O debería siempre enviar el último estado redux guardado desde el servidor (y no guardar y cargar desde el almacenamiento local) cuando el usuario visita el sitio web por primera vez después de abrir el navegador? Si ese es el caso

Q3. Si la respuesta a Q2 es SÍ, ¿qué pasa con JWT? ¿Deberíamos almacenar JWT en el almacenamiento local evitando obligar al usuario a volver a iniciar sesión?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Q1

En términos de las mejores prácticas actuales de OAuth , evitaría almacenar algo como esto en el almacenamiento local:

  • números de tarjetas de crédito
  • contraseñas
  • fichas de acceso
  • Información de identificación personal, por ejemplo, nombre, correo electrónico

Use el almacenamiento del navegador para datos simples, como la ruta de la aplicación antes de una redirección de OAuth o preferencias booleanas simples. Prefiera el almacenamiento de la sesión al almacenamiento local, a menos que necesite configuraciones en varias pestañas del navegador.

Q2

Usar el servidor es más seguro para cualquier cosa sensible, por lo que vale la pena invertir en una opción de carga y guardado impulsada por API.

Q3

Evite los JWT en el almacenamiento local, ya que hay más vectores de ataque que podrían provocar el robo de datos. Si está migrando desde este modelo, comience almacenando un token de actualización en una cookie cifrada HTTP Only SameSite=strict y almacene tokens de acceso solo en la memoria.

Esto le permitirá evitar inicios de sesión en las recargas de la página o cuando el usuario abre una nueva pestaña del navegador, y es fácil de implementar al enrutar las solicitudes de token a través de una API de utilidad. Luego, puede ir más allá para eliminar completamente los tokens de acceso del navegador. Consulte el artículo Prácticas recomendadas de SPA para obtener más detalles relacionados.

about 4 years ago · Juan Pablo Isaza Report

0

Eso depende.

Q1. Si se trata de datos que no se actualizan y no necesita realizar una solicitud al backend para ello. Puede usar localstorage .

El problema de seguridad con el almacenamiento local es que el usuario puede acceder a él y modificar o eliminar los datos. En ese caso, nuevamente debe presionar su API para obtener datos.

Q2. Si los datos se están actualizando (p. ej., publicaciones, me gusta en la aplicación de blog). Luego, debe realizar una solicitud al servidor para obtener los datos más recientes.

Q3. Sí, la mayoría de los jwt se almacenan en localStorage, lo que evita que el usuario vuelva a iniciar sesión. Si el usuario intenta alterar el jwt, el backend tiene métodos para verificarlo. leer Cómo funciona jwt

about 4 years ago · Juan Pablo Isaza 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!