fix: fo 로그아웃 로직 수정

This commit is contained in:
swcho
2025-12-26 15:25:01 +09:00
parent 0d1ac48bc6
commit e37e7de6de
2 changed files with 19 additions and 25 deletions
+13 -18
View File
@@ -11,25 +11,20 @@ export default function Home() {
const checkToken = getCookie(AUTH_USER_ID);
useEffect(() => {
const hostname = window.location.hostname;
if (!checkToken) {
// 외부 URL로 이동해야 할 경우 location.replace를 사용합니다.
if (window.location.hostname.includes("hasuon.or.kr")) {
location.replace(process.env.NEXT_PUBLIC_CM_LOGIN_PAGE_URL||'/pages/dashboard');
return; // 페이지 이동 후에는 더 이상 로직을 실행하지 않습니다.
}
async function doLogin() {
try {
await LoginApi.login({ userId: "CLEANWATER", password: "gktneh12!@" });
router.push("/pages/dashboard"); // location.href 대신 router.push 사용
} catch (err) {
console.error("로그인 실패", err);
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname === "con.mind-one.co.kr") {
if (!checkToken) {
async function doLogin() {
try {
await LoginApi.login({ userId: "CLEANWATER", password: "gktneh12!@" });
window.location.href = "/pages/dashboard";
} catch (err) {
console.error("로그인 실패", err);
}
}
}
doLogin();
} else {
router.push("/pages/dashboard");
}
doLogin();
} else router.push("/pages/dashboard");
} else router.push("/pages/dashboard");
}, []);
}
@@ -1,8 +1,7 @@
"use client";
import { useEffect } from "react";
import { useRouter } from "next/navigation";
//import { usePathname } from "next/navigation";
import { useRouter, usePathname } from "next/navigation";
import { client } from "@/src/shared/api";
import type { IUserInfo } from "@/src/shared/store";
import { useUserStore, getCookie } from "@/src/shared/lib";
@@ -13,7 +12,7 @@ const LOGIN_PAGE_URL = process.env.NEXT_PUBLIC_CM_LOGIN_PAGE_URL || "http://loca
const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
const router = useRouter();
//const pathname = usePathname();
const pathname = usePathname();
const { userInfo, setUserInfo } = useUserStore((state) => state);
async function authCheck() {
@@ -42,7 +41,7 @@ const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
console.error("Token refresh failed:", refreshError);
setUserInfo(null);
const hostname = location.hostname;
const hostname = window.location.hostname;
// 개발 환경에서는 localhost 도메인 사용
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname === "con.mind-one.co.kr")
@@ -50,13 +49,13 @@ const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
// 운영 환경에서는 서브도메인을 포함한 최상위 도메인 사용
// router.push는 같은 Next.js 앱 내에서만 작동하므로 다른 앱으로 이동할 때는 window.location.href 사용
if (hostname.includes("hasuon.or.kr")) location.href = LOGIN_PAGE_URL; // 세션 만료 시 CM 로그인 페이지로 리다이렉트
if (hostname.includes("hasuon.or.kr")) window.location.href = LOGIN_PAGE_URL; // 세션 만료 시 CM 로그인 페이지로 리다이렉트
}
}
})();
}, []);
}, [pathname]);
return <>{children}</>;
};
export { AuthWrapper };
export { AuthWrapper };