diff --git a/apps/cm/package.json b/apps/cm/package.json index 64eb7edb4..1f9f98815 100644 --- a/apps/cm/package.json +++ b/apps/cm/package.json @@ -12,7 +12,7 @@ "@common/assets": "workspace:*", "@common/auth": "workspace:*", "@common/components": "workspace:*", - "@common/config": "workspace:*", + "@common/network": "workspace:*", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", diff --git a/apps/cm/src/entities/auth/api/auth-service.ts b/apps/cm/src/entities/auth/api/auth-service.ts index ddb3dffac..073f95fe2 100644 --- a/apps/cm/src/entities/auth/api/auth-service.ts +++ b/apps/cm/src/entities/auth/api/auth-service.ts @@ -16,48 +16,32 @@ import { setupRefreshTimer, tokenManager, } from "../lib/token-manager"; -import { clearDeviceId } from "../lib/device-id"; - -function resolveLoginError(message: string | undefined): string { - switch (message) { - case "Invalid Credentials": - return "아이디와 비밀번호가 일치하지 않습니다."; - case "User not found": - return "존재하지 않는 아이디입니다."; - case "User is not active": - return "활성화되지 않은 계정입니다."; - case "User is not verified": - return "이메일 인증이 필요합니다."; - default: - return message ?? "로그인에 실패했습니다."; - } -} +import { clearDeviceId, getOrCreateDeviceId } from "../lib/device-id"; function completeSession(accessToken: string, tokenId: string): void { setToken(CLAIM_NAME, accessToken); setToken(AUTH_USER_ID, tokenId); - const remainingMs = getRemainingMs(accessToken); - if (remainingMs > 0) { - setupRefreshTimer(silentRefresh, remainingMs); - } + // const remainingMs = getRemainingMs(accessToken); + // if (remainingMs > 0) { + // setupRefreshTimer(silentRefresh, remainingMs); + // } } async function login(payload: AuthPayload): Promise { const response = await fetch(`/api/proxy${ENDPOINT.USER_SERVICE.LOGIN}`, { method: "POST", - headers: { "Content-Type": "application/json" }, + headers: { + "Content-Type": "application/json", + "X-Device-Id": getOrCreateDeviceId(), + }, body: JSON.stringify(payload), }); const data = await response.json(); - if (!response.ok) { - throw new Error(resolveLoginError(data?.message)); - } - - const accessToken = data[ACCESS_TOKEN] as string | undefined; - const tokenId = data[AUTH_USER_ID] as string | undefined; + const accessToken = data[ACCESS_TOKEN]; + const tokenId = data[AUTH_USER_ID]; if (!accessToken || !tokenId) { throw new Error("인증 토큰을 받지 못했습니다."); @@ -71,7 +55,12 @@ async function silentRefresh(): Promise { try { const response = await fetch( `/api/proxy${ENDPOINT.USER_SERVICE.SILENT_REFRESH}`, - { method: "PUT" }, + { + method: "PUT", + headers: { + "X-Device-Id": getOrCreateDeviceId(), + }, + }, ); const data = await response.json(); @@ -80,8 +69,8 @@ async function silentRefresh(): Promise { throw new Error(data?.message ?? "토큰 갱신에 실패했습니다."); } - const accessToken = data[ACCESS_TOKEN] as string | undefined; - const tokenId = data[AUTH_USER_ID] as string | undefined; + const accessToken = data[ACCESS_TOKEN]; + const tokenId = data[AUTH_USER_ID]; if (!accessToken || !tokenId) { throw new Error("갱신된 인증 토큰을 받지 못했습니다."); diff --git a/apps/cm/tsconfig.json b/apps/cm/tsconfig.json index 5b8c29899..05cbfce70 100644 --- a/apps/cm/tsconfig.json +++ b/apps/cm/tsconfig.json @@ -22,12 +22,8 @@ "name": "next" } ], - "baseUrl": "./src", "paths": { - "@/*": ["./*"], - "@common/components": ["../../../packages/common/components/src/"], - "@common/config": ["../../../packages/common/config/dist/"], - "@common/network": ["../../../packages/common/network/"] + "@/*": ["./src/*"] } }, "include": [