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

433
Views
Interfaz de reacción y API REST, CSRF

Usando React en el frontend con una API RESTful como backend y autorización por un JSON Web Token (JWT), ¿cómo manejamos las sesiones? Por ejemplo, después de iniciar sesión, obtengo un token JWT de REST. Si lo guardo en localStorage, soy vulnerable a XSS, si lo guardo en cookies, tengo los mismos problemas, excepto que configuro las cookies en HttpOnly, pero React no puede leer las cookies de HttpOnly (necesito leer las cookies para tomar JWT de él y usar este JWT con solicitudes REST), tampoco mencioné el problema de falsificación de solicitudes entre sitios (CSRF). Si usa REST como backend, no puede usar tokens CSRF.

Como resultado, React with REST parece una mala solución y necesito repensar mi arquitectura. ¿Es posible ofrecer a sus usuarios una aplicación React segura que maneje toda la lógica comercial en el lado de la API REST sin temor a perder sus datos?

Actualizar:

Por lo que entendí, es posible hacer esto:

  1. React realiza una llamada AJAX a la API REST
  2. React obtiene un token JWT de la API REST
  3. React escribe la cookie HttpOnly
  4. Debido a que React no puede leer las cookies HttpOnly, lo usamos tal cual en todas nuestras llamadas REST donde necesitamos autenticación
  5. La API REST llama para verificar el encabezado XMLHttpRequest, que es una especie de protección CSRF
  6. El lado de la API REST busca cookies, lee JWT y hace cosas

Carezco de conocimientos teóricos aquí. La lógica parece bastante segura, pero todavía necesito una respuesta a mis preguntas y aprobar este "flujo de trabajo".

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

  1. React hace una llamada AJAX a la API REST

asegurado, un montón de librería de clientes de recursos tranquilos disponibles

  1. React obtiene el token JWT de REST

seguro, esto es lo que debe hacer JWT

  1. React escribe una cookie httponly

No lo creo, no debería funcionar, pero la sesión no es algo tan importante, pronto quedará obsoleta y volverá a verificar la contraseña en las operaciones clave, incluso los piratas informáticos la obtuvieron en muy poco tiempo, puede vincule el token de sesión junto con la IP cuando el usuario inicie sesión y compruébelo en su API de back-end. Si lo desea más seguro, simplemente mantenga el token en la memoria y vuelva a iniciar sesión cuando abra una nueva página o se actualice la página

  1. Debido a que reaccionar no puede leer la cookie httponly, la usamos tal cual en nuestra llamada REST donde necesitamos autenticación

asegurado, verifique el usuario y los permisos a través del token de inicio de sesión, como csrf, puede colocar su token de inicio de sesión en el encabezado de su solicitud y verificarlo en su API de back-end. Vincular el token de inicio de sesión a su propia biblioteca tranquila le ahorrará muchos códigos

  1. REST en las llamadas verifica el encabezado XMLHttpRequest, ¿qué es algún tipo de protección CSRF? El lado REST verifica la cookie, lee JWT y hace cosas

seguro, como lo hace la mayoría de la gente. Además, vincular el token csrf a tu propia lib tranquila te ahorrará muchos códigos

use el token de usuario en el encabezado https://www.npmjs.com/package/express-jwt-token Authorization JWT < jwt token >

use el token csrf en el encabezado https://github.com/expressjs/csurf req.headers['csrf-token'] - the CSRF-Token HTTP request header.

cliente tranquilo https://github.com/cujojs/rest

reaccionar con jwt https://github.com/joshgeller/react-redux-jwt-auth-example

over 4 years ago · Santiago Trujillo Report

0

Su servidor puede configurar la cookie JWT directamente como respuesta a la solicitud de inicio de sesión.

El servidor responde a POST /login con Set-Cookie: JWT=xxxxxx . Esa cookie es solo http y, por lo tanto, no es vulnerable a XSS, y se incluirá automáticamente en todas las solicitudes de obtención del cliente (siempre que use withCredentials: true ).

CSRF se mitiga como mencionó, consulte OWASP para obtener más detalles .

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!