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";
|
||||
|
||||
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();
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user