From a4e4228dc17eb0c6f59a88544de60676a97b74fe Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Tue, 7 Jul 2026 23:52:50 +0330 Subject: [PATCH] fix: update removeToken function to handle cookie removal with domain options --- utils/index.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/utils/index.js b/utils/index.js index 9b8587d..561b4a4 100644 --- a/utils/index.js +++ b/utils/index.js @@ -2,9 +2,21 @@ import Cookies from "js-cookie"; import { clearAccessToken } from "@/lib/tokenStore"; const removeToken = () => { - Cookies.remove("uuid", { path: "/" }); - Cookies.remove("userInfo", { path: "/" }); if (typeof window !== "undefined") { + // کوکی‌ها هنگام ورود با domain نقطه‌دار (.yasuj-nobat.ir) در پروداکشن ست می‌شوند + // (SendReq.js). js-cookie فقط وقتی حذف می‌کند که domain/path دقیقاً مطابق ست‌شدن باشد، + // پس باید با همان domain حذف شوند وگرنه پاک نمی‌شوند. + const hostname = window.location.hostname; + const isLocalhost = + hostname.includes("localhost") || /^\d+\.\d+\.\d+\.\d+$/.test(hostname); + const domainOpts = isLocalhost + ? { path: "/" } + : { path: "/", domain: `.${hostname.split(".").slice(-2).join(".")}` }; + + ["uuid", "userInfo"].forEach((name) => { + Cookies.remove(name, domainOpts); + Cookies.remove(name, { path: "/" }); // fallback برای کوکی‌های ست‌شده بدون domain (localhost/قدیمی) + }); clearAccessToken(); } };