로컬에서 잘 작동하던 로그인 기능이 Vercel 배포 후에 먹통이 되어버렸다. 4시간동안 레딧, 깃헙, Next-auth 공식문서 전부다 뒤져서 겨우 해결하였다. 매번 이런 에러들 해결할때마다 진이 빠진다.. 너무 하찮은 이유로 인해서 안돌아가는거라니...
에러명은 [next-auth][error][CLIENT_FETCH_ERROR] Unexpected token '<', 어쩌고 하면서 Valid한 JSON을 못받아온다고한다.
일단 CLIENT_FETCH_ERROR는 여러가지 이유가 있다고 공식문서에서 그런다.
1. NEXTAUTH_URL 환경변수 미설정 -> Vercel로 배포한다면 필요없음
2. NEXTAUTH_SECRET 환경변수 미설정 -> CLIENT FETCH ERROR는 아니고 시크릿이 없다고 뜰거같다. (로컬에서는 필요없고 배포 후에 필요함)
3. config 잘못 설정한경우
이정도라고 한다. 나한테는 전부 해당되지 않아서 검색에 검색을 하다가 찾아내었다.
원래 나의 폴더들은
이런식으로 설정되어있었다. 서버 api들을 저장하는 api들을 api 폴더에 보관하고 있었는데 이게 문제였다. app 안에 api와 같은 레벨에 있지않아서 괜찮을줄 알았는데 아니었다..
apis로 바꿔주니 잘돌아간다.. 그냥 최상단에도 api라는 폴더가 있으면 next-auth에서 api 폴더를 참조해서 기능을 하는것 같다.. 나와 같은 실수하는 사람들이 없기를... 허무한 4시간..