From cccda51d2675355dcf956c8af1b508f746b7b0ea Mon Sep 17 00:00:00 2001 From: manNomi Date: Sat, 14 Mar 2026 19:21:34 +0900 Subject: [PATCH 1/3] fix(web): simplify auth redirects and route login success to home --- apps/web/src/apis/Auth/postAppleAuth.ts | 13 +++++-------- apps/web/src/apis/Auth/postKakaoAuth.ts | 13 +++++-------- apps/web/src/middleware.ts | 17 ++--------------- 3 files changed, 12 insertions(+), 31 deletions(-) diff --git a/apps/web/src/apis/Auth/postAppleAuth.ts b/apps/web/src/apis/Auth/postAppleAuth.ts index 81a1a9a1..8f8aafe7 100644 --- a/apps/web/src/apis/Auth/postAppleAuth.ts +++ b/apps/web/src/apis/Auth/postAppleAuth.ts @@ -19,16 +19,13 @@ const usePostAppleAuth = () => { // 기존 회원일 시 - Zustand persist가 자동으로 localStorage에 저장 // refreshToken은 서버에서 HTTP-only 쿠키로 자동 설정됨 useAuthStore.getState().setAccessToken(data.accessToken); + } - toast.success("로그인에 성공했습니다."); + toast.success("로그인에 성공했습니다."); - setTimeout(() => { - router.push("/"); - }, 100); - } else { - // 새로운 회원일 시 - 회원가입 페이지로 이동 - router.push(`/sign-up?token=${data.signUpToken}`); - } + setTimeout(() => { + router.push("/"); + }, 100); }, onError: () => { toast.error("애플 로그인 중 오류가 발생했습니다. 다시 시도해주세요."); diff --git a/apps/web/src/apis/Auth/postKakaoAuth.ts b/apps/web/src/apis/Auth/postKakaoAuth.ts index 7bb6a231..2d7b1fc6 100644 --- a/apps/web/src/apis/Auth/postKakaoAuth.ts +++ b/apps/web/src/apis/Auth/postKakaoAuth.ts @@ -20,16 +20,13 @@ const usePostKakaoAuth = () => { // 기존 회원일 시 - Zustand persist가 자동으로 localStorage에 저장 // refreshToken은 서버에서 HTTP-only 쿠키로 자동 설정됨 setAccessToken(data.accessToken); + } - toast.success("로그인에 성공했습니다."); + toast.success("로그인에 성공했습니다."); - setTimeout(() => { - router.push("/"); - }, 100); - } else { - // 새로운 회원일 시 - 회원가입 페이지로 이동 - router.push(`/sign-up?token=${data.signUpToken}`); - } + setTimeout(() => { + router.push("/"); + }, 100); }, onError: () => { toast.error("카카오 로그인 중 오류가 발생했습니다. 다시 시도해주세요."); diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index 279d052a..5a7438b2 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -1,8 +1,7 @@ import type { NextRequest } from "next/server"; import { NextResponse } from "next/server"; -const loginNeedPages = ["/mentor", "/my", "/community"]; // 로그인 필요페이지 -const COMMUNITY_LOGIN_REASON = "community-members-only"; +const loginNeedPages = ["/mentor", "/my"]; // 로그인 필요페이지 export function middleware(request: NextRequest) { const url = request.nextUrl.clone(); @@ -12,13 +11,6 @@ export function middleware(request: NextRequest) { // return NextResponse.next(); // } - // 서버 사이드 인증 체크가 활성화된 경우에만 미들웨어 적용 - // (RefreshToken은 항상 HTTP-only 쿠키로 관리됨) - const isServerSideAuthEnabled = process.env.NEXT_PUBLIC_COOKIE_LOGIN_ENABLED === "true"; - if (!isServerSideAuthEnabled) { - return NextResponse.next(); - } - // HTTP-only 쿠키의 refreshToken 확인 const refreshToken = request.cookies.get("refreshToken")?.value; @@ -28,13 +20,8 @@ export function middleware(request: NextRequest) { }); if (needLogin && !refreshToken) { - const isCommunityRoute = url.pathname === "/community" || url.pathname.startsWith("/community/"); url.pathname = "/login"; - if (isCommunityRoute) { - url.searchParams.set("reason", COMMUNITY_LOGIN_REASON); - } else { - url.searchParams.delete("reason"); - } + url.searchParams.delete("reason"); return NextResponse.redirect(url); } From 5fc96d489dc8849bcd99e2dbea89ffacc073ed8a Mon Sep 17 00:00:00 2001 From: manNomi Date: Sat, 14 Mar 2026 19:57:19 +0900 Subject: [PATCH 2/3] fix(web): restore kakao signup redirect and protect community routes --- apps/web/src/apis/Auth/postKakaoAuth.ts | 14 ++++++++------ apps/web/src/middleware.ts | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/web/src/apis/Auth/postKakaoAuth.ts b/apps/web/src/apis/Auth/postKakaoAuth.ts index 2d7b1fc6..3ead72ae 100644 --- a/apps/web/src/apis/Auth/postKakaoAuth.ts +++ b/apps/web/src/apis/Auth/postKakaoAuth.ts @@ -20,13 +20,15 @@ const usePostKakaoAuth = () => { // 기존 회원일 시 - Zustand persist가 자동으로 localStorage에 저장 // refreshToken은 서버에서 HTTP-only 쿠키로 자동 설정됨 setAccessToken(data.accessToken); - } - - toast.success("로그인에 성공했습니다."); - setTimeout(() => { - router.push("/"); - }, 100); + toast.success("로그인에 성공했습니다."); + setTimeout(() => { + router.push("/"); + }, 100); + } else { + // 새로운 회원일 시 - 회원가입 페이지로 이동 + router.push(`/sign-up?token=${data.signUpToken}`); + } }, onError: () => { toast.error("카카오 로그인 중 오류가 발생했습니다. 다시 시도해주세요."); diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index 5a7438b2..f4294a86 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -1,7 +1,7 @@ import type { NextRequest } from "next/server"; import { NextResponse } from "next/server"; -const loginNeedPages = ["/mentor", "/my"]; // 로그인 필요페이지 +const loginNeedPages = ["/mentor", "/my", "/community"]; // 로그인 필요페이지 export function middleware(request: NextRequest) { const url = request.nextUrl.clone(); From 9fc30e9d70f5284fd4e7fb4aeb6396e4d9df9605 Mon Sep 17 00:00:00 2001 From: manNomi Date: Sat, 14 Mar 2026 20:20:47 +0900 Subject: [PATCH 3/3] fix(web): rollback postAppleAuth to main behavior --- apps/web/src/apis/Auth/postAppleAuth.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/web/src/apis/Auth/postAppleAuth.ts b/apps/web/src/apis/Auth/postAppleAuth.ts index 8f8aafe7..81a1a9a1 100644 --- a/apps/web/src/apis/Auth/postAppleAuth.ts +++ b/apps/web/src/apis/Auth/postAppleAuth.ts @@ -19,13 +19,16 @@ const usePostAppleAuth = () => { // 기존 회원일 시 - Zustand persist가 자동으로 localStorage에 저장 // refreshToken은 서버에서 HTTP-only 쿠키로 자동 설정됨 useAuthStore.getState().setAccessToken(data.accessToken); - } - toast.success("로그인에 성공했습니다."); + toast.success("로그인에 성공했습니다."); - setTimeout(() => { - router.push("/"); - }, 100); + setTimeout(() => { + router.push("/"); + }, 100); + } else { + // 새로운 회원일 시 - 회원가입 페이지로 이동 + router.push(`/sign-up?token=${data.signUpToken}`); + } }, onError: () => { toast.error("애플 로그인 중 오류가 발생했습니다. 다시 시도해주세요.");