Firefox lanza la siguiente advertencia después de eliminar una cookie válida:
La cookie "cookie_name" pronto se rechazará porque tiene el atributo "SameSite" establecido en "Ninguno" o un valor no válido, sin el atributo "seguro". Para saber más sobre el atributo "SameSite", lea https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
Guión
Después de un inicio de sesión válido, envío una cookie a la interfaz. Esta cookie se puede utilizar durante mi sesión sin ningún problema o advertencia. La consola de desarrollo también me muestra los valores esperados: SameSite: "Strict" y Secure: true .
Durante el proceso de cierre de sesión, la cookie configurada se elimina configurando max-age=0 o expire=<date_in_past> . El navegador elimina la cookie inmediatamente como se esperaba, pero también recibo la advertencia mencionada anteriormente. No importa si elimino la cookie en el backend o en el frontend, el mensaje siempre se mostrará.
Código
Establecer cookie - Backend (django) :
class Login(): def post(self, request): ... response = Response(status=status.HTTP_200_OK, ...) response.set_cookie("cookie_name", value, max_age=60*60*5, secure=True, httponly=False, samesite='strict') return responseEliminar cookie - Frontend : (forma preferida para esta cookie en mi escenario hasta ahora)
function removeItem(key, path, domain) { ... document.cookie = encodeURIComponent(key) + // "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + "=; max-age=0" + (domain ? "; domain=" + domain : "") + (path ? "; path=" + path : ""); return true; }, }Eliminar cookie - Backend (django) : (enumerado solo para completar; da como resultado la misma advertencia)
class Logout(): def post(self, request): ... response = Response(status=status.HTTP_200_OK, ...) response.delete_cookie("cookie_name") return response¿Hay alguna forma mejor de eliminar las cookies que no genere la advertencia?
Lo que debe hacer es agregar los atributos del mismo sitio/cookie segura cuando configura la cookie; de lo contrario, el navegador podría rechazarla.