ADR-001: 소셜 로그인
상황 (Context)
사주 기반 소개팅 서비스에서 사용자 인증이 필수적이다. 카카오톡이 국내 20-35세 타겟층에서 높은 보유율을 가지고 있으며, OAuth2를 통한 소셜 로그인이 온보딩 마찰을 줄이는 효과적인 방법이다.
의사결정 (Decision)
카카오 OAuth2 기반 소셜 로그인 구현
- 카카오 Developers API (REST API) 사용
- BFF(/api/auth/kakao/callback)에서 토큰 교환
- HttpOnly Cookie + Secure + SameSite 속성으로 토큰 저장
- Refresh Token Rotation 구현
근거 (Rationale)
- 높은 국내 보유율: 국내 20-35세 약 90% 이상이 카카오 계정 보유
- 낮은 구현 비용: 기존 REST API 문서가 충실하고 SDK 지원
- 보안: OAuth2 표준을 따르며 사용자 비밀번호 노출 없음
- 확장성: 향후 네이버, 구글 추가 시 스키마 변경 최소화 가능
결과 (Consequences)
✅ 긍정
- 사용자 온보딩 마찰 최소화
- 서드파티 인증으로 보안 책임 분산
- 카카오 프로필 정보 수집 가능 (프로필 이미지 등)
⚠️ 위험
- 카카오 OAuth 정책 변경에 의존
- Kakao API 장애 시 서비스 로그인 불가
- 제3자 데이터 처리에 대한 법적 책임
출시 전 확인사항
- 카카오 앱 등록 및 개발 권한 확인 (W1)
- HttpOnly Cookie 보안 설정 검증
- 개인정보 처리방침 업데이트
- 로그아웃 시 카카오 토큰 revoke 처리
상태: ✅ 승인됨 | 최종 수정: 2026-06-25