Supabase 구글 로그인 redirect_uri_mismatch 해결
이런 증상이라면
로컬에서는 구글 로그인이 되는데, 배포한 사이트에서는 "redirect_uri_mismatch" 또는 콜백에서 인증 실패가 납니다.
🔎 이 문제는 대부분 코드가 아니라 대시보드·설정에 있습니다. AI에게 코드를 고쳐달라고 반복해도 안 풀리는 이유예요.
흔한 원인 (가능성 순)
1Supabase에 배포 도메인이 등록 안 됨대시보드
Supabase > Authentication > URL Configuration의 Site URL과 Redirect URLs에 배포 도메인(및 /auth/callback)이 없으면 콜백이 거부됩니다.
2Google Console 승인된 리디렉션 URI 누락대시보드
Google Cloud Console의 OAuth 클라이언트 "승인된 리디렉션 URI"에는 앱 도메인이 아니라 Supabase 콜백(https://<프로젝트>.supabase.co/auth/v1/callback)을 넣어야 합니다. 여기서 착각이 가장 많습니다.
확인·해결 순서
- Supabase > Authentication > URL Configuration: Site URL을 배포 도메인으로, Redirect URLs에 https://your-app.com/auth/callback 추가
- Google Cloud Console > 사용자 인증 정보 > OAuth 2.0 클라이언트: 승인된 리디렉션 URI에 Supabase 콜백 URL 추가
- 변경 후 몇 분 반영 대기 → 시크릿 창에서 다시 로그인 테스트
자주 묻는 질문
Google에 우리 앱 도메인을 넣으면 되나요?
아니요. Supabase를 쓰면 실제 콜백을 받는 건 Supabase 서버입니다. 그래서 Google에는 Supabase 콜백 URL을 넣어야 합니다.
로컬은 왜 됐나요?
localhost는 보통 기본 허용 목록에 있어서 통과합니다. 배포 도메인은 직접 등록해야 합니다.
위를 다 해봤는데도, 또는 AI(Cursor·Claude)한테 물어봐도 계속 같은 에러라면 — 에러 로그를 붙여넣으면 60초 안에 진짜 원인을 짚어드려요.
이 문제 무료로 AI 진단받기