1. 문제발생
OAuth관련 설정 후 소셜로그인 하여도 에러가 발생하는 문제
2. 원인추론
- 깃허브와 supabase관련 데이터 입력이 잘못되었나?
- Auth를 팔 때마다 깃허브 OAuth Apps의 키를 새로 발급받아야 하나?
3. 해결방안
- 두 추론 모두 해결되지 않아서 네트워크 탭의 에러코드와 메시지를 파악함
- 확인해보니 에러코드가 500번
- 해당 에러는 데이터베이스 로그를 식별해보라하여 DB의 Log를 확인해봄
{"component":"api","error":"failed to close prepared statement:
ERROR: current transaction is aborted, commands ignored until end of transaction block
(SQLSTATE 25P02):
ERROR: null value in column \"avatar_url\" of relation \"users\" violates not-null constraint (SQLSTATE 23502)",
"level":"error","method":"GET","msg":"500: Database error saving new user",
"path":"/callback","referer":"http://localhost:3000/","remote_addr":"218.148.199.243",
"request_id":"8d62a1a0d7c3d1e3-ICN","time":"2024-10-21T16:30:18Z"}
{"component":"api","error":"failed to close prepared statement:
ERROR: current transaction is aborted, commands ignored until end of transaction block (SQLSTATE 25P02):
ERROR: column \"image_url\" of relation \"users\" does not exist (SQLSTATE 42703)",
"level":"error","method":"POST","msg":"500: Database error saving new user",
"path":"/signup","referer":"http://localhost:3000","remote_addr":"1.227.78.56",
"request_id":"8d629c9e15a0d1f3-ICN","time":"2024-10-21T16:26:52Z"}
확인해 보니 users테이블의 image_url column이 없는 것과 avatar이 Nullable하지 않은 것이 문제로 파악되어 해당 부분 추가 및 수정
4. 결과
정상로그인 성공함