회원/인증 규칙
소셜 로그인
현재 카카오 로그인만 지원합니다.
카카오 동의 항목 미동의 시 서버가 임시값을 자동 생성합니다.
| 항목 | 미동의 시 처리 |
|---|---|
| 이메일 | kakao_{provider_id}@kakao.com 자동 생성 |
| 닉네임 | 사용자_{id} 자동 생성 |
계정 상태 흐름
정상 ──── 탈퇴 신청 ────▶ 탈퇴 유예 (PENDING_DELETION) ──── 30일 경과 ────▶ 익명화 완료
↑ (로그인 불가)
└────── 유예 기간 중 재로그인 시 자동 복구
| 상태 | 조건 | JWT status 클레임 | 로그인 가능 |
|---|---|---|---|
| 정상 | deletedAt == null | 없음 | ✅ |
| 탈퇴 유예 | deletedAt != null, anonymizedAt == null | PENDING_DELETION | ✅ (자동 복구) |
| 익명화 완료 | anonymizedAt != null | — | ❌ |
탈퇴 유예 상태에서 재로그인하면 탈퇴가 자동으로 취소되고 정상 상태로 복구됩니다.
익명화 처리 규칙
개인정보 보호법(PIPA) 준수를 위해 탈퇴 후 일정 기간이 지나면 개인 식별 정보를 자동으로 익명화합니다.
- 조건: 탈퇴 신청(
deletedAt) 후 30일 초과 경과 - 실행: 매일 02:00 KST 스케줄러 자동 실행
- 처리 내용:
email→deleted_{userId}@deleted.comnickname→탈퇴회원_{userId}
- 익명화 완료 후 로그인 시:
401 DELETED_USER반환
토큰 규칙
| 구분 | 유효기간 | 특이사항 |
|---|---|---|
| Access Token | 1시간 | JWT (HS256), status 클레임 포함 가능 |
| Refresh Token | 14일 | UUID 형식, DB 저장, 1회 사용 후 즉시 폐기 |
Refresh Token은 재발급 시 이전 토큰이 즉시 무효화됩니다(Token Rotation).
닉네임 제약
- 최소 2자 이상
- 최대 20자 이하
관련 에러 코드
| 코드 | HTTP | 설명 |
|---|---|---|
UNAUTHORIZED | 401 | 인증 정보 없음 또는 유효하지 않음 |
INVALID_TOKEN | 401 | 토큰 형식 오류 |
EXPIRED_TOKEN | 401 | 토큰 만료 |
DELETED_USER | 401 | 익명화 완료 계정으로 로그인 시도 |