- 현재의
비회원으로 화단 만들기진입 장점을 유지한다. - 사용자가 식물, 방명록, 피드 등을 써본 뒤 원할 때 소셜 계정으로 연동할 수 있게 한다.
- 장기적으로는 계정 복구와 다기기 사용성을 확보한다.
- 비회원 시작도 초반에 닉네임을 입력한다.
- 소셜 신규 가입도 초반에 닉네임을 입력한다.
- 그래서 둘의 초기 마찰은 현재 거의 비슷하다.
- 첫 진입 장벽은 비회원이 가장 낮다.
- 소셜 로그인 강제는 첫 사용 이탈을 늘릴 가능성이 있다.
- 서비스 특성상 먼저 써보고 나중에 계정 보존 필요성을 느끼게 만드는 쪽이 자연스럽다.
- 비회원 가입 유지
- 소셜 신규 가입도 유지
- 설정 화면 또는 특정 시점에서
소셜 계정 연동진입점 제공
- 비회원 유저가 식물 등록, 방명록 작성, 피드 참여 등 핵심 행동 후 계정 연동의 장점을 설명하며 연동을 유도
- 예시 문구:
- 기기 변경 시 기록을 보존할 수 있어요
- 방명록과 식물 기록을 안전하게 저장할 수 있어요
- 연동률과 이탈률을 보고 비회원 축소 여부 판단
- 실제 데이터상 문제 없을 때만 소셜 우선 정책 검토
- 위치:
OptionScreen - 목적: 언제든 사용자가 계정을 승격할 수 있게 함
- 선택지:
- 구글 연동
- 카카오 연동
- 주의:
- 이미 다른 계정에 연결된 소셜 계정인지 에러 처리 필요
- 예시:
- 첫 방명록 작성 직후
- 첫 아바타 등록 완료 후
- 설정 화면 상단 배너
- 문구 예시:
- 이제 소셜 계정으로 로그인해도 현재 텃밭을 그대로 이어서 사용할 수 있어요.
- 예시 엔드포인트:
POST /api/v1/auth/link-social
- 입력값 예시:
- Supabase access token
- 처리 내용:
- 현재 로그인된 비회원 사용자와 소셜 계정을 연결
- 이미 다른 유저에 연결된 소셜 계정이면 차단
- 현재는 비회원/소셜 구분이 명확하지 않을 수 있음
- 최소한 아래 식별값이 필요함
- anonymous/guest 여부
- oauthProvider
- oauthSubject
- linkedAt
- 같은 소셜 계정이 이미 다른 사용자에 연결된 경우
- 현재 게스트 계정 데이터와 병합할지, 차단할지 정책 필요
- 추천은 초기엔
병합 금지, 연결 차단이다
- 연동된 계정인지
- 신규 소셜 가입인지
- 기존 연동 계정 로그인인지
- 프론트가 명확히 분기할 수 있게 응답값 보강 필요
- 비회원 -> 소셜 연동: 허용
- 이미 독립적으로 생성된 다른 소셜 계정과 데이터 병합: 금지
- 충돌 시 사용자에게 새 계정 생성 대신 기존 계정이 존재한다고 안내
- 병합 로직은 방명록, 피드, 정원, 아바타, 알림, 팔로우 등 전체 도메인을 건드려 리스크가 크다.
- 먼저
단일 사용자에 소셜 식별자 연결까지만 구현하는 것이 안전하다.
- 지금은
비회원 가입 제거보다비회원 유지 + 나중에 소셜 연동이 더 적절하다. - 구현 우선순위는
- 설정의 소셜 연동 진입점
- MainBE 계정 연결 API
- 충돌 처리 정책 순서가 맞다.