로그인 처리 메인에서 처리

This commit is contained in:
yschoi
2025-07-10 14:26:35 +09:00
parent 1ec26b3de2
commit 2bf1f4ac70
3 changed files with 31 additions and 78 deletions
+25 -46
View File
@@ -1,50 +1,29 @@
import { Button } from "@common/components";
import Link from "next/link";
import { redirect } from "next/navigation";
"use client";
import { LoginApi } from "@/entities/auth";
import { useEffect } from "react";
import { getCookie } from "@/shared/lib";
import { AUTH_USER_ID } from "@/shared/config";
import { useRouter } from "next/navigation";
export default function Home() {
redirect("/map");
const router = useRouter();
const userId = "admin1gmail";
const password = "test1234!";
const checkToken = getCookie(AUTH_USER_ID);
// return (
// <div>
// <div>
// <h3 className="text-bold mx-4 gap-4 text-2xl">하수관망도</h3>
// <div className="flex flex-row gap-4 p-4">
// <Link href={"/map"}>
// <Button>하수관망도</Button>
// </Link>
// </div>
// </div>
// <div>
// <h3 className="text-bold mx-4 gap-4 text-2xl">운영정보 관리</h3>
// <div className="flex flex-row gap-4 p-4">
// <Link href={"/oper/floodPre"}>
// <Button>도시침수 예방사업</Button>
// </Link>
// <Link href={"/oper/oldPp"}>
// <Button>노후 하수관로 정비사업</Button>
// </Link>
// </div>
// </div>
// <div>
// <h3 className="text-bold mx-4 gap-4 text-2xl">
// I/I 분석(기초정보 설정)
// </h3>
// <div className="flex flex-row gap-4 p-4">
// <Link href={"/ii/irsetting"}>
// <Button>침입수 분석</Button>
// </Link>
// <Link href={"/ii/rdii"}>
// <Button>RDII 분석</Button>
// </Link>
// <Link href={"/ii/result"}>
// <Button>침입수 분석 결과</Button>
// </Link>
// <Link href={"/ii/rdiiResult"}>
// <Button>RDII 분석 결과</Button>
// </Link>
// </div>
// </div>
// </div>
// );
useEffect(() => {
if (!checkToken) {
async function doLogin() {
try {
await LoginApi.login({ userId, password });
window.location.href = "/map";
} catch (err) {
console.error("로그인 실패", err);
}
}
doLogin();
} else {
router.push("/map");
}
}, []);
}
+1 -2
View File
@@ -5,7 +5,7 @@
"scripts": {
"dev": "next dev -p 3002",
"build": "next build",
"start": "next start",
"start": "next start -p 3002",
"lint": "next lint"
},
"dependencies": {
@@ -18,7 +18,6 @@
"@radix-ui/react-label": "^2.1.2",
"@radix-ui/react-slot": "^1.1.2",
"@tanstack/react-query": "^5.67.1",
"@tanstack/react-query-devtools": "^5.75.5",
"@tanstack/react-table": "^8.21.2",
"axios": "^1.8.1",
"chart.js": "^4.4.8",
+5 -30
View File
@@ -7,9 +7,7 @@ import type { IUserInfo } from "@/shared/store";
import { useUserStore } from "@/shared/lib";
import { ENDPOINT, AUTH_USER_ID } from "@/shared/config";
import { getCookie } from "@/shared/lib";
import axios from "axios";
import { LoginApi } from "../api/login-service";
import { tokenManager } from "../lib/token-manager";
const CLAIM_NAME = process.env.NEXT_PUBLIC_CLAIM_NAME || "Authorization";
@@ -18,32 +16,14 @@ const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
const { userInfo, setUserInfo } = useUserStore((state) => state);
async function authCheck() {
const checkToken = getCookie(AUTH_USER_ID);
if (!checkToken) {
//TODO 나중에 수정해야....
const userId = "admin1gmail";
const password = "test1234!";
await LoginApi.login({ userId, password });
// window.location.href = "http://dev.onasys.co.kr/auth/login";
// throw new Error("Missing required authentication tokens");
const userId = getCookie(AUTH_USER_ID);
if (!userId) {
throw new Error("Missing required authentication tokens");
}
const accessToken = tokenManager.getToken(CLAIM_NAME);
const tokenId = tokenManager.getToken(AUTH_USER_ID);
const response = await axios.get<IUserInfo>(
const response = await client.get<IUserInfo>(
`${ENDPOINT.USER_SERVICE.USERS}/info/me`,
{
withCredentials: true,
headers: {
[CLAIM_NAME]: accessToken,
[AUTH_USER_ID]: tokenId ?? "",
},
},
);
if (!userInfo) setUserInfo(response.data);
}
@@ -60,12 +40,7 @@ const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
} catch (refreshError) {
console.error("Token refresh failed:", refreshError);
setUserInfo(null);
// TODO 운영에 반영 할때 수정해야.....
// 현재 경로가 로그인 페이지가 아닐 때만 redirect
// if (!pathname.startsWith("/auth/login")) {
// window.location.href = "http://dev.onasys.co.kr/auth/login";
// }
router.push("/");
}
}
})();