Skip to content

Commit d8750d4

Browse files
authored
Merge pull request #310 from manNomi/feat/middleware-community
fix : 커뮤니티 하위페이지에 대한 미들웨어 처리 수정
2 parents c313ca6 + de2b54d commit d8750d4

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

‎src/middleware.ts‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { NextResponse } from "next/server";
22
import type { NextRequest } from "next/server";
33

4-
const loginNeedPages = ["/mentor", "/my", "/community/"]; // 로그인 필요페이지
4+
const loginNeedPages = ["/mentor", "/my"]; // 로그인 필요페이지
55

66
export function middleware(request: NextRequest) {
77
const url = request.nextUrl.clone();
@@ -21,10 +21,14 @@ export function middleware(request: NextRequest) {
2121
// HTTP-only 쿠키의 refreshToken 확인
2222
const refreshToken = request.cookies.get("refreshToken")?.value;
2323

24-
// 정확한 경로 매칭 - startsWith 대신 정확한 경로나 세그먼트 기반 매칭 사용
25-
const needLogin = loginNeedPages.some((path) => {
26-
return url.pathname === path || url.pathname.match(new RegExp(`^${path}(/|$)`));
27-
});
24+
// /community는 통과, /community/ 하위 경로는 로그인 필요
25+
const isCommunitySubRoute = url.pathname.startsWith("/community/");
26+
27+
// 정확한 경로 매칭
28+
const needLogin =
29+
loginNeedPages.some((path) => {
30+
return url.pathname === path || url.pathname.startsWith(path + "/");
31+
}) || isCommunitySubRoute; // /community/ 하위 경로도 로그인 필요
2832

2933
if (needLogin && !refreshToken) {
3034
url.pathname = "/login";

0 commit comments

Comments
 (0)