Me gustaría agregar csurf como un middleware express dentro del servidor de reacción para una aplicación universal.
Lo que quiero lograr es agregar el token csrf a una entrada oculta en un formulario en el componente de reacción para mantener el mismo flujo de protección csrf que proporcionaría un sitio web renderizado por servidor, pero dentro de un SPA.
¿Es esto técnicamente posible dentro del servidor de reacción? Si es así, ¿cómo puedo pasar el token csrf que está disponible en el objeto de respuesta al componente de reacción a través de la página (idealmente)?
De hecho, me encontré con el mismo problema y, afortunadamente, encontré la solución aquí: https://github.com/kriasoft/react-starter-kit/issues/1142
para usarlo solo haz:
app.use(csrf({ cookie: true, value: (req) => (req.cookies.csrfToken) }));y luego, para cada solicitud de obtención, configure una cookie con el token csrf:
res.cookie('csrfToken', req.csrfToken ? req.csrfToken() : null, { sameSite: true, httpOnly: true });