ADR-T-003

인증은 Supabase Auth 기반 소셜 로그인 + 이메일 매직링크 방식으로 시작한다

  • ADR ID: ADR-T-003

  • 상태: Accepted

  • 작성일: 2026-03-02

  • 작성자: YSY

  • 관련 ADR: ADR-T-001, ADR-T-002


1. 배경 (Context)

본 플랫폼은 다음 조건을 가진다:

  • 슬롯 확보 및 제재 정책은 사용자 식별이 필수

  • 보증금 모델을 사용하지 않음 (신뢰 기반 제어 필요)

  • 로그인 마찰은 최소화해야 함

  • 비밀번호 관리 부담을 피하고 싶음

  • 1인 개발로 인증 인프라 직접 구현은 비효율

또한:

  • 빠른 회원가입

  • 낮은 이탈률

  • 운영 부담 최소화

가 중요하다.


2. 결정 (Decision)

인증은 Supabase Auth를 사용한다.

초기 인증 방식은 다음 두 가지를 지원한다:

  1. 소셜 로그인 (Google 우선)

  2. 이메일 매직링크 로그인

비밀번호 기반 자체 인증은 도입하지 않는다.


3. 대안 (Alternatives Considered)

대안 A: 이메일 + 비밀번호 자체 인증

설명
기본적인 아이디/비밀번호 구조

장점

  • 익숙한 방식

  • 완전한 통제

단점

  • 비밀번호 관리 부담

  • 보안 리스크

  • UX 마찰 증가

채택하지 않은 이유
MVP 단계에서 비밀번호 관리 시스템을 직접 운영할 필요가 없다.


대안 B: 소셜 로그인만 제공

설명
Google/Apple 로그인만 허용

장점

  • 가입/로그인 속도 빠름

  • 사용자 편의성 높음

단점

  • 특정 사용자 배제 가능성

  • 이메일 기반 접근 제한

채택하지 않은 이유
소셜 로그인을 선호하지 않는 사용자 대응 필요.


대안 C: 전화번호 OTP 인증

설명
SMS 기반 인증

장점

  • 간편 로그인

단점

  • SMS 비용 발생

  • 지역 확장 시 비용 증가

  • OTP 인프라 관리 필요

채택하지 않은 이유
비용 구조와 복잡성이 증가한다.


4. 결과 (Consequences)

긍정적 결과

  • 로그인 마찰 최소화

  • 보안 관리 부담 감소

  • 신뢰 기반 제재 정책 적용 가능

  • 빠른 MVP 구현 가능

부정적 결과

  • Supabase Auth 의존성

  • 일부 사용자는 소셜 로그인을 기피할 수 있음

  • 매직링크는 이메일 접근 필요


5. 영향 범위 (Impact)

기술

  • Supabase Auth와 RLS 연동 필수

  • userId는 모든 핵심 테이블의 FK

  • 게스트 확보는 허용하지 않음 (확보는 로그인 필수)

UX

  • 로그인은 확보 시점에 요구

  • 탐색은 로그인 없이 허용 가능(선택)

운영

  • 계정 분쟁 대응 필요

  • 이메일 발송 도메인 관리 필요


6. 재검토 조건 (Revisit Conditions)

  • 로그인 전환율이 50% 미만으로 하락

  • 매직링크 이메일 도달률 문제 발생

  • 가맹점이 별도 관리자 인증 구조를 요구할 경우

  • 팀 규모 확대 후 자체 인증 서버 필요성 증가