Estoy usando reaccionar (en netlify) y express (en Google Cloud Run) juntos. Con reaccionar y CORS, necesito configurar cookie=secure y samesite=none para que Chrome agregue la cookie en la interfaz. Esto está bien, pero no puedo eliminar la cookie usando document.cookie = 'test="";-1; path=/;' . Ni siquiera aparece cuando uso document.cookie para enumerar todas las cookies actuales.
Tenga en cuenta que esto es seguro y no httponly=true , que pensé que eran los únicos que no podía modificar desde el frente, como otra cookie que estoy enviando desde express.
En resumen, quiero poder configurar dos cookies de express en google, una httponly=true y la segunda para ser modificada desde el front-end (el front-end puede destruir la segunda cookie) pero no puedo configurar seguro como falso ya que google no lo hará permitir que se agregue esa cookie debido a CORS.
¿Cómo podría lograr esto, agregar una cookie no segura a Chrome con CORS y poder modificarla desde la interfaz?
Código que estoy usando para configurar la cookie:
res.cookie("test", testValue, { maxAge: "2000", secure: true, //If I do not set these two lines chrome does not accept it. sameSite: "none", //If I do not set these two lines chrome does not accept it. }); También agregaré que si intento usar el método de caducidad como lo sugiere Heiko Theißen, en el siguiente código no sucede nada. Si intento configurarlo en un valor diferente con el nuevo método de valor, se agrega una copia de la cookie con el mismo nombre, como se muestra en la captura de pantalla. Ambos métodos funcionan cuando se usa localhost en desarrollo. Solo en producción con los indicadores cookie=secure y samesite=none establecidos ambos métodos ya no funcionan.
//Expire method document.cookie="test=;Expires=" + new Date("1970-01-01").toGMTString(); //New value method document.cookie = 'test="";-1; path=/'