Tengo un problema al probar mi aplicación web localmente. Configuré cookies en una respuesta de solicitud (así es cómo):
const token = createToken(user._id); res.cookie("jwt", token, { httpOnly: true, maxAge: maxAge, }); res.status(201).json({ user: user._id }); return res;Pero encuentro un error sobre la misma política de dominio al ejecutar la siguiente solicitud en React Client:
axios.post(`${process.env.REACT_APP_API_URL}api/user/login`, { email: email, password: password, }, { withCredentials: true }) .then((res) => { if (res.data.errors) { //Show errors } }) .catch((err) => { console.log(err); });Intenté ejecutarlo con el parámetro withCredentials : false
La solicitud funciona, pero la cookie no se almacena. Pero configuré-Cookie en la respuesta a mi solicitud.
Y estas son mis opciones de CORS:
const corsOptions = { origin: process.env.CLIENT_URL, credentials: true, allowedHeaders: ["sessionId", "Content-Type"], exposedHeaders: ["sessionId"], methods: "GET,HEAD,PUT,PATCH,POST,DELETE", preflightContinue: false };Reemplazo mis opciones cors por:
const corsOptions = {origin: process.env.CLIENT_URL,credentials: true};y añadir :
app.options('*', cors(corsOptions));y ahora esta funcionando