fix: update removeToken function to handle cookie removal with domain options

This commit is contained in:
hamed
2026-07-07 23:52:50 +03:30
parent 73c10f53ec
commit a4e4228dc1
+14 -2
View File
@@ -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();
}
};