-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
목적
- 신규 사용자가 이메일, 비밀번호, 닉네임, MBTI, 성별, 주소를 입력하여 계정을 생성할 수 있도록 회원가입 기능을 제공.
- 가입 즉시 Access Token을 발급하여 자동 로그인 상태로 전환하고, 쿠키에 저장하여 사용자 경험 개선.
상세 내용
-
POST /user/sign-upAPI 구현- DTO:
SignUpRequestDto- 이메일 형식, 비밀번호 복잡도, 필수 항목(
name,mbti,gender,address) 검증
- 이메일 형식, 비밀번호 복잡도, 필수 항목(
- Service:
UserService.signUp()- 비밀번호 암호화(
PasswordEncoder) - 신규
User엔티티 생성 후 저장 - 기본 프로필 이미지(
ProfileImage) 생성 및 저장 - JWT Access Token 생성 → 만료 시간 계산 → HttpOnly 쿠키에 저장
- 비밀번호 암호화(
- Controller:
UserController.signUp()- 유효성 검증(
@Valid) - 성공 시
ApiResult.success()반환
- 유효성 검증(
- DTO:
-
유효성 검증:
- 이메일 형식 (
@Email) - 비밀번호: 영문/숫자/특수문자 각 1개 이상 포함, 10~25자
- MBTI, 성별, 주소 필수 입력
- 이메일 형식 (
-
JWT 처리:
JwtProvider를 사용하여 Access Token 생성- 쿠키(
access_token,access_token_expires_at)에 저장 CookieHelper유틸 활용
특이사항
- 현재 회원가입 시 닉네임, MBTI, 성별, 주소가 필수이며, 추후 온보딩 화면과의 연동 필요
- 회원가입 후 별도의 로그인 없이 자동 로그인 상태가 됨 (쿠키 기반)
- API 경로
/user/sign-up는 추후 RESTful 규칙에 맞춰/api/users로 변경 고려 - 알림 기능은 UI/UX 설계에서 제외되어 이번 구현에 반영하지 않음
Metadata
Metadata
Assignees
Labels
No labels