
Supabase에서 소셜 로그인(Google OAuth 등)을 사용할 때 기본 도메인은 asdfsadfsadfasdf.supabase.co처럼 프로젝트 ID가 노출된다. 이 URL을 spoteditor.supabase.co처럼 깔끔한 서브도메인으로 바꾸는 방법을 정리한다.
DNS 설정이나 별도의 도메인 구매 없이 Supabase CLI로 설정 가능하다.
처음에는 Custom Domain 기능(auth.thespoteditor.com 같은 형태)을 사용하려 했지만, 이를 적용하려면 서브도메인을 따로 구매하고 DNS 설정까지 해야 했다. 이미 사용하는 루트 도메인이 있는 상태라 서브도메인을 별도로 추가 구매해야 하는 상황이라 부담이 있었고, 대신 Supabase에서 제공하는 Vanity Subdomain 기능으로 방향을 바꿨다.
asdfsadfsadfasdf)npx supabase login
npx supabase vanity-subdomains --project-ref <프로젝트Ref> check-availability --desired-subdomain <바꿀 도메인> --experimental
available: true가 출력되면 사용 가능한 상태다.
npx supabase vanity-subdomains --project-ref <프로젝트Ref> activate --desired-subdomain <바꿀 도메인> --experimental
이 명령어 실행 후 https://spoteditor.supabase.co가 프로젝트의 인증 도메인으로 활성화된다.
Google Cloud Console > OAuth 클라이언트에서 다음 두 URI를 모두 등록한다.
https://<프로젝트Ref>.supabase.co/auth/v1/callback
https://spoteditor.supabase.co/auth/v1/callback
두 주소 모두 등록해두면 새 도메인과 기존 도메인이 모두 정상 작동한다.
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
'https://spoteditor.supabase.co',
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
)
필수는 아니지만, Twitter 로그인을 사용하는 경우 반드시 새로운 도메인만 사용해야 한다.

브라우저 시크릿 모드에서 로그인 시도 시 인증 URL이 spoteditor.supabase.co로 시작하면 적용 완료다.
<프로젝트Ref>.supabase.co)도 계속 동작한다.