소셜 로그인 PRD¶
요지¶
이메일 가입은 입력이 많아 떨어져 나가는 사람이 생긴다. 카카오·네이버·구글로 한 번에 가입·로그인하게 해 그 마찰을 줄이고 전환율을 끌어올리는 게 이 기능이다. 기존 이메일 가입은 그대로 두고 소셜을 더한다. 다만 만 14세 미만은 법적으로 받을 수 없어 간소화된 Age Gate로 막는다. MVP-B 마일스톤(MS2) 기능이다.
목표 & 성공 기준 (지표)¶
간편 가입으로 전환을 높이면서 U14 차단은 어기지 않는 것이 목표다. 지표는 소셜 가입·로그인 전환율, Provider별 비중, 이메일이 겹쳤을 때 연동까지 성공하는 비율, 그리고 U14 차단율을 본다.
대상 페르소나¶
새로 가입하는 사람(만 14세 이상이거나 연령이 확인 안 된 경우)과, 이미 이메일로 가입해 둔 사람(소셜 계정을 연동할 대상)이다. 역할은 신규 가입 시 추가정보 단계에서 정한다.
범위 (포함 / 제외)¶
여기서 다루는 건 3개 Provider의 OAuth2.0 가입·로그인, 간소화한 Age Gate, 이메일이 겹칠 때의 연동·로그인 유도, 학생 초대 토큰 연동(학생 초대 고도화 (초대 링크)), 그리고 기본 트래킹·오류 처리다.
법정대리인 동의 수집·검증·기록, 기존 이메일 가입 UX 개선, 미성년자 결제·과금 정책은 이번 범위 밖이다.
요구사항 (유저 스토리 · 기능)¶
소셜 버튼을 누르면 Provider 인증을 거친 뒤 세 갈래로 나뉜다. 신규(만 14세 이상)는 추가정보를 입력하고 가입, 같은 이메일의 기존 계정이 있으면 비밀번호로 본인 확인 후 연동, 만 14세 미만은 가입 불가 안내. 가입이나 연동이 끝나면 서비스로 들어간다.
정책의 뼈대는 이렇다.
| 정책 | 내용 |
|---|---|
| Provider | 카카오 / 네이버 / 구글 (1차) |
| Age Gate | birthyear/birthday/age_range 기준. U14 가입 불가, A14+/Unknown 진행 |
| 이메일 | 회원 식별 Unique Key — 중복 시 계정 연동 유도, Provider 미제공 시 프로필 단계 필수 입력 |
| 연동 | 동일 이메일 기존 계정 시 비밀번호 본인 인증으로 Provider Link → 즉시 로그인 |
OAuth client ID·secret이나 리다이렉트 URI 같은 자격증명 값은 인프라 설정(infra)에 두고, 흐름과 정책만 여기 적는다.
근거 (피드백·아이디어·리서치 source)¶
MS2 소셜 계정 회원가입 기획서(v2 초안)와 백엔드 통합 작업 로그에서 도출했다. 출처는 frontmatter source에 있고, 관련 이슈는 Jira BTS-244.
오픈 이슈¶
- Provider가 이메일이나 생년을 안 주는 경우를 어떻게 처리할지, 그리고 연령을 모르는(Unknown) 사용자에 대한 후속 보호자 동의를 언제 도입할지.