회원가입 기능 하나에도 결정해야 할 것이 많은 이유
웹서비스 개발을 준비할 때 회원가입은 가장 기본적인 기능처럼 보입니다.
웹서비스 개발을 준비할 때 회원가입은 가장 기본적인 기능처럼 보입니다.
이메일과 비밀번호를 입력하고 가입 버튼을 누르면 끝나는 것처럼 생각하기 쉽습니다.
하지만 실제 서비스에서는 다음과 같은 조건을 함께 정해야 합니다.
- 누가 가입할 수 있는가?
- 이메일 인증이 필요한가?
- 소셜 로그인을 제공하는가?
- 개인과 기업 회원을 구분하는가?
- 관리자 승인이 필요한가?
- 약관 동의를 어떻게 받는가?
- 중복 계정을 어떻게 처리하는가?
- 탈퇴하면 데이터를 언제 삭제하는가?
회원 구조는 로그인뿐 아니라 결제, 권한, 데이터, 관리자, 통계와 연결됩니다.
초기 설계가 잘못되면 나중에 기업 회원이나 유료 요금제를 추가할 때 전체 구조를 수정해야 할 수 있습니다.
회원가입 전에 사용자 유형을 정해야 합니다
다음과 같은 사용자 유형이 있을 수 있습니다.
- 일반 회원
- 유료 회원
- 기업 회원
- 기업 관리자
- 기업 직원
- 파트너
- 강사
- 교육생
- 판매자
- 운영 관리자
사용자 유형마다 가입 항목과 승인 방식, 사용할 기능이 달라질 수 있습니다.
예를 들어 개인 회원은 이메일만 입력하지만 기업 회원은 다음 정보가 필요할 수 있습니다.
- 회사명
- 사업자등록번호
- 담당자
- 부서
- 직책
- 회사 이메일
- 사업자등록증
- 기업 승인
따라서 회원가입 화면을 만들기 전에 사용자 구조를 먼저 정해야 합니다.
1. 가입 방식
이메일 회원가입
가장 일반적인 방식입니다.
필요할 수 있는 항목:
- 이메일
- 비밀번호
- 이름
- 약관 동의
- 이메일 인증
휴대폰 회원가입
휴대폰 본인 확인이나 문자 인증을 활용할 수 있습니다.
- 휴대폰 번호
- 인증번호
- 중복 번호 확인
- 인증 만료
- 재발송 제한
인증 서비스 이용료와 외부 업체 연동이 필요할 수 있습니다.
소셜 회원가입
- 카카오
- 네이버
- 구글
- Apple
가입 과정은 편리하지만 계정 통합과 개인정보 처리 정책이 필요합니다.
관리자 등록
운영자가 회원을 직접 생성하는 구조입니다.
- B2B 고객
- 사내 직원
- 초대형 서비스
- 제한된 사용자 대상
초대 가입
관리자나 기업 담당자가 이메일을 보내고 사용자가 초대 링크를 통해 가입합니다.
- 초대 만료
- 중복 초대
- 역할 지정
- 이미 가입된 이메일
- 초대 취소
2. 어떤 정보를 받을 것인가?
가입 단계에서 너무 많은 정보를 받으면 이탈이 늘어날 수 있습니다.
반대로 필요한 정보를 받지 않으면 나중에 추가 입력을 요청해야 합니다.
기본 정보
- 이메일
- 비밀번호
- 이름
선택 정보
- 휴대폰
- 회사
- 부서
- 직책
- 관심 분야
- 프로필 이미지
서비스 필수 정보
- 사업자등록번호
- 주소
- 자격 정보
- 학번
- 소속 기관
- 추천인
- 가입 코드
필수 정보와 선택 정보를 구분하는 것이 좋습니다.
3. 이메일 인증
이메일 인증은 실제 이메일 소유 여부를 확인하는 데 사용됩니다.
일반적인 흐름:
- 회원가입
- 인증 이메일 발송
- 사용자가 링크 클릭
- 인증 완료
- 로그인 가능
정해야 할 조건:
- 인증 전 로그인 가능한가?
- 인증 링크 유효시간은 얼마인가?
- 재발송 횟수 제한이 있는가?
- 이메일을 잘못 입력하면 변경 가능한가?
- 인증 이메일이 오지 않을 때 안내가 있는가?
- 이미 인증된 링크를 다시 누르면 어떻게 되는가?
4. 비밀번호 정책
다음 조건을 정할 수 있습니다.
- 최소 글자 수
- 영문·숫자·특수문자
- 최대 길이
- 이전 비밀번호 재사용
- 로그인 실패 제한
- 비밀번호 변경
- 비밀번호 찾기
지나치게 복잡한 조건은 사용성을 낮출 수 있습니다.
서비스의 보안 수준과 사용자 환경에 맞게 정해야 합니다.
5. 중복 가입
중복 기준을 정해야 합니다.
- 같은 이메일
- 같은 휴대폰
- 같은 사업자등록번호
- 같은 소셜 계정
- 탈퇴한 계정의 재가입
예를 들어 이메일 가입 후 같은 이메일로 구글 로그인을 시도할 수 있습니다.
이때 다음 중 어떤 방식으로 처리할지 결정해야 합니다.
- 새로운 계정 생성
- 기존 계정과 연결
- 로그인 방식 안내
- 본인 확인 후 통합
6. 개인 회원과 기업 회원
B2B 서비스에서는 기업 구조를 처음부터 고려해야 할 수 있습니다.
개인 회원
자기 데이터만 관리합니다.
기업 관리자
- 회사 정보
- 직원 초대
- 권한 관리
- 사용량
- 결제
- 기업 통계
기업 직원
- 회사 소속으로 서비스 이용
- 기업 데이터 접근
- 할당된 권한 사용
기업 회원을 나중에 추가하면 데이터와 결제 구조를 크게 수정해야 할 수 있습니다.
7. 관리자 승인
누구나 즉시 가입할 수 없는 서비스에서 필요할 수 있습니다.
흐름 예시:
가입 신청
→ 관리자 검토
→ 승인 또는 반려
→ 결과 안내
→ 서비스 이용
정해야 할 항목:
- 승인 전 로그인 가능 여부
- 승인 담당자
- 승인 기준
- 반려 사유
- 결과 알림
- 재신청
- 승인 이력
8. 약관과 개인정보 동의
회원가입 시 다음 동의가 필요할 수 있습니다.
- 이용약관
- 개인정보 수집·이용
- 마케팅 정보 수신
- 제3자 제공
- 국외 이전
- 민감정보 처리
필수와 선택 동의를 구분해야 합니다.
관리할 수 있는 정보:
- 약관 버전
- 동의 시각
- 동의 여부
- 철회 여부
- 접속 정보
실제 서비스에 필요한 법적 문서는 전문가의 검토를 받는 것이 안전합니다.
9. 가입 코드와 제한 가입
특정 사용자만 가입하게 만들 수 있습니다.
- 초대 코드
- 기업 코드
- 교육 코드
- 추천인 코드
- 행사 참여 코드
확인할 조건:
- 사용 횟수
- 만료일
- 기업 연결
- 중복 사용
- 잘못된 코드
- 코드 생성 관리자
10. 프로필 작성
회원가입과 프로필 작성을 한 번에 할지 나눌 수 있습니다.
한 번에 작성
가입 후 바로 필요한 정보가 모두 준비됩니다.
단점은 가입 단계가 길어질 수 있다는 것입니다.
가입 후 온보딩
최소 정보로 가입한 뒤 서비스 안에서 추가 정보를 입력합니다.
- 단계별 저장
- 건너뛰기
- 완료율
- 나중에 수정
11. 가입 완료 후 동작
가입 후 어디로 이동하는지 정해야 합니다.
- 대시보드
- 온보딩
- 결제
- 프로필 작성
- 이메일 인증 안내
- 승인 대기 화면
- 서비스 첫 화면
가입 완료 메시지만 보여주고 다음 행동을 안내하지 않으면 사용자가 이탈할 수 있습니다.
12. 비밀번호 찾기
일반적인 흐름:
- 이메일 입력
- 계정 확인
- 재설정 링크 발송
- 새 비밀번호 설정
- 기존 로그인 세션 처리
보안을 위해 해당 이메일의 가입 여부를 외부에 지나치게 노출하지 않는 방식도 검토할 수 있습니다.
13. 회원정보 수정
수정 가능한 항목을 정해야 합니다.
- 이름
- 이메일
- 휴대폰
- 비밀번호
- 회사
- 프로필 이미지
- 알림 설정
- 마케팅 동의
이메일과 휴대폰처럼 로그인이나 인증에 사용되는 정보는 재인증이 필요할 수 있습니다.
14. 회원 탈퇴
탈퇴 버튼만 추가한다고 끝나지 않습니다.
정해야 할 내용:
- 즉시 탈퇴
- 재확인
- 비밀번호 확인
- 탈퇴 사유
- 결제와 구독 해지
- 보유 크레딧
- 진행 중 업무
- 작성 콘텐츠
- 개인정보 삭제
- 법적 보관 데이터
- 재가입 가능 시점
탈퇴 후 모든 데이터를 바로 삭제할 수 없는 서비스도 있습니다.
거래 기록이나 법적 보관 의무가 있는 데이터는 구분해서 처리해야 할 수 있습니다.
15. 휴면과 장기 미사용 계정
서비스 정책에 따라 장기 미사용 계정을 관리할 수 있습니다.
- 알림
- 이용 제한
- 데이터 분리
- 재활성화
- 삭제
현재 운영에 실제로 필요한지 확인한 뒤 적용해야 합니다.
16. 관리자 회원 관리
관리자에서 다음 기능이 필요할 수 있습니다.
- 회원 목록
- 이름·이메일 검색
- 가입일 필터
- 회원 상태
- 승인
- 정지
- 이용권 지급
- 기업 연결
- 탈퇴 처리
- 엑셀 다운로드
- 활동 이력
회원가입 기능 견적에는 관리자 기능이 포함되어 있는지 확인해야 합니다.
17. 회원 상태
다음과 같은 상태를 둘 수 있습니다.
가입 대기
이메일 미인증
승인 대기
이용 중
정지
탈퇴
상태마다 로그인과 기능 사용 가능 여부를 정해야 합니다.
18. 보안
회원 기능에서 기본적으로 검토할 수 있는 항목:
- 비밀번호 암호화 저장
- 로그인 세션
- 무차별 로그인 시도 제한
- 인증번호 만료
- 관리자 권한
- 개인정보 접근
- API 요청 검증
- 로그아웃
- 공용 기기 사용
민감한 정보를 다루면 추가 보안 검토가 필요할 수 있습니다.
회원가입 개발 비용에 영향을 주는 항목
| 기능 | 상대적인 복잡도 |
|---|---|
| 이메일 가입 | 기본 |
| 이메일 인증 | 추가 |
| 비밀번호 찾기 | 추가 |
| 소셜 로그인 1종 | 추가 |
| 휴대폰 인증 | 외부 서비스 연동 |
| 관리자 승인 | 상태·관리자 필요 |
| 기업 회원 | 데이터·권한 증가 |
| 직원 초대 | 초대 흐름 필요 |
| 약관 버전 관리 | 동의 이력 필요 |
| 계정 통합 | 예외 처리 증가 |
| 회원 탈퇴 | 데이터 정책 필요 |
| 다중 권한 | 서버 권한 설계 필요 |
초기 MVP에서 단순화하는 방법
1단계
- 이메일 회원가입
- 이메일 인증
- 비밀번호 찾기
- 일반 회원
- 관리자
이후 단계
- 소셜 로그인
- 기업 회원
- 직원 초대
- 여러 권한
- 고급 계정 통합
다만 기업 구조가 서비스의 핵심이면 초기부터 고려해야 합니다.
개발 업체에 전달할 회원 요구사항
회원 유형:
가입 방식:
필수 가입 정보:
선택 정보:
이메일 인증:
휴대폰 인증:
소셜 로그인:
관리자 승인:
기업 회원:
직원 초대:
약관 동의:
가입 후 이동:
비밀번호 찾기:
회원정보 수정:
탈퇴 정책:
관리자 회원 기능:
회원가입 검수 체크리스트
[ ] 필수값 검증
[ ] 이메일 형식
[ ] 비밀번호 조건
[ ] 중복 가입
[ ] 인증 이메일
[ ] 인증 만료
[ ] 가입 완료
[ ] 로그인
[ ] 비밀번호 찾기
[ ] 소셜 로그인
[ ] 약관 동의 기록
[ ] 관리자 회원 확인
[ ] 회원 상태
[ ] 탈퇴
[ ] 모바일
마무리
회원가입은 단순히 이메일과 비밀번호를 저장하는 기능이 아닙니다.
회원 구조는 다음 영역의 기반이 됩니다.
- 권한
- 결제
- 사용자 데이터
- 기업 계정
- 관리자
- 통계
- 개인정보
초기 개발 전에 누가 가입하고, 어떤 인증을 거치며, 어떤 권한으로 서비스를 사용하는지 정하는 것이 중요합니다.
