inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

평범한 도미님의 게시글

평범한 도미 평범한 도미

@whgpwls2103175

수강평 작성수
-
평균평점
-

게시글 6

질문&답변

credentials provider 에서 서버로 부터 받아온 error message가 반환되지 않는 경우

이게 보안 때문에 커스텀 오류메시지 반환이 불가능한 건가 싶기도 해요 0-0 찾아보니 app router에서만 발생하는 문제 같기도 하구요.. https://github.com/nextauthjs/next-auth/issues/7638#issuecomment-1599319687 이런 방식으로 해결하는 것 같긴한데.. 확실하지가 않네용 ㅠㅠ 아이디 또는 비밀번호가 틀렸을 때 return null로 설정해주면 client에서 signIn response로 {error: 'CredentialsSignin', status: 200, ok: true, url: null} 를 확인할 수 는 있습니다. throw Error를 하면 {error: 'CallbackRouteErro r', status: 200, ok: true, url: null} 로 반환되더라구요. 정상적으로 로그인을 하면 response로 {error: null, status: 200, ok: true, url: 'http://localhost:3000/logi n'}가 반환됩니다. 그리고 실제로 response의 error가 null 일때만 쿠키에 authjs.session-token이 생성되기 때문에 (즉 client signIn요청의 response의 error가 null이 아니면 로그인이 되지 않아서) 우선은 아래처럼 코드를 구현해 놓았습니다.

좋아요수
0
댓글수
5
조회수
998

질문&답변

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

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

좋아요수
0
댓글수
4
조회수
937