-
#8 이슈에 따라 redirect 대신 middleware로 바꾸고 있습니다. import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
import { localStorage } from "@/src/functions/localstorage";
export function middleware(request: NextRequest) {
const isLogin =
localStorage.get("accessToken", "") === "" ||
localStorage.get("refreshToken", "") === "";
if (isLogin) {
return NextResponse.redirect(new URL("/signin", request.url));
}
return NextResponse.next();
}
export const config = {
matcher: [
"/",
"/admin/:path*",
"/applicant/:path*",
"/interview/:path*",
"/kanban/:path*",
],
}; 문제는.. isLogin이 첫 로딩 시에 설정되면 로그인을 해도 isLogin의 값은 그대로입니다.(처음 로그아웃 상태에서 isLogin이 true라면 -> 로그인을 완료했어도 isLogin이 true) 해결할 수 있는 좋은 방법이 있는지 여쭤보고 싶습니다.. 감사합니다. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 9 replies
-
mather에 signin이 없어서, middleware가 실행이 되지 않는 것 같아요. |
Beta Was this translation helpful? Give feedback.
-
middleware의 request에서는 쿠키에도 접근할 수 있어서, 토큰을 쿠키에 저장하는 것도 방법이 될 수 있겠다는 생각이 듭니다. 현재는 로컬스토리지에 값이 저장되도 저장되었다는 것을 인지하지 못하는게 문제라고 생각이 들기 때문입니다.. |
Beta Was this translation helpful? Give feedback.
-
그렇다면 먼저 BE와 소통을 한 이후, 비용에 대한 측정을 하여 이 문제를 처리하도록 하겠습니다! |
Beta Was this translation helpful? Give feedback.
그렇다면 먼저 BE와 소통을 한 이후, 비용에 대한 측정을 하여 이 문제를 처리하도록 하겠습니다!