fix: update removeToken function to handle cookie removal with domain options
This commit is contained in:
+14
-2
@@ -2,9 +2,21 @@ import Cookies from "js-cookie";
|
|||||||
import { clearAccessToken } from "@/lib/tokenStore";
|
import { clearAccessToken } from "@/lib/tokenStore";
|
||||||
|
|
||||||
const removeToken = () => {
|
const removeToken = () => {
|
||||||
Cookies.remove("uuid", { path: "/" });
|
|
||||||
Cookies.remove("userInfo", { path: "/" });
|
|
||||||
if (typeof window !== "undefined") {
|
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();
|
clearAccessToken();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user