• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

login 시 http://localhost:9090/api/auth/error?error=CallbackRouteError로 리턴

24.02.20 14:07 작성 조회수 307

0

LoginModal.tsx 클라이언트 컴포넌트에서 로그인 호출시
http://localhost:9090/api/auth/error?error=CallbackRouteError
로 넘어가서 질문드립니다. (9090서버 열린 것 확인했습니다)

비슷한 질문에 대한 답변에 버전 문제가 있어서 버전도 다시 설정해보았습니다.
스크린샷 2024-02-20 오후 1.57.45.png그런데도 여전히 로그인 함수 호출 시

http://localhost:9090/api/auth/error?error=CallbackRouteError 로 리턴되고 있어서요.

터미널에는 아래와 같은 오류가 나옵니다..ㅜㅜ
스크린샷 2024-02-20 오후 2.00.05.png

답변 4

·

답변을 작성해보세요.

0

npm i @auth/core@0.27 next-auth@5.0.0-beta.11 msw@2.1
이렇게 설치하고 .env에서 AUTH_URL을 지웁니다. 그리고 auth.ts에서 NEXT_PUBLIC_BASE_URL을 대신 씁니다. .env에 AUTH_URL을 쓰지 않는 게 핵심입니다.

const authResponse = await fetch(`${process.env.NEXT_PUBLIC_BASE_URL}/api/login`, {

아직 msw@2.2의 버그는 해결하지 못했습니다.
https://github.com/mswjs/msw/issues/1658#issuecomment-1953599080
이런
식으로 버그 제기를 하고는 있으나 언제 고쳐질 지는 모르겠습니다. 해결되는대로 다시 공유드리겠습니다.

0

handlers.tsx에서 http.post("/api/login) 요청의 HttpResponse로 주는 User[1]을 User[0]으로 수정하거나 nickname을 영어로 변경하니 정상작동합니다. 한글 닉네임이 포함된 User[1]로 response 할 시에는 console.log(authResponse)가 null로 나오면서 동일한 CallbackRouteError발생하네요..! 한글 데이터로 응답도 가능하게 하려면 추가 설정이 필요한걸까요...?

 

msw@2.2에서 에러가 나는 것 같습니다.

npm i msw@2.1 해보세요

0

스크린샷 2024-02-20 오후 2.20.51.pngauth.ts는 강의 내용과 동일하게 설정되어있고,
스크린샷 2024-02-20 오후 2.27.11.png
api/auth/[...nextauth]/route.ts도 동일하구요.
스크린샷 2024-02-20 오후 2.29.39.png
로그인 호출할 때 console.log()도 잘 찍히는데 위 오류가 발생하는 이유를 모르겠습니다.ㅜ.ㅜ

지금 console.log('user', user)는 안 찍히고 있죠? console.log(authResponse) 해보세요

0

auth.ts authorize 함수에서 에러가 난 것이라서요. fetch 통해서 msw 라우터 호출되고 있는지 한 번 확인해봐야할 것 같습니다.