2차 공부/최종프로젝트

24.10.22 supabase OAuth 관련 에러 수정

공대탈출 2024. 10. 22. 01:43

1. 문제발생

OAuth관련 설정 후 소셜로그인 하여도 에러가 발생하는 문제 

 

2. 원인추론

  1. 깃허브와 supabase관련 데이터 입력이 잘못되었나?
  2. 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. 결과

정상로그인 성공함