-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
시나리오
- 사용자가 이메일과 비밀번호를 입력하여 로그인 요청을 보낸다.
- 시스템은 입력된 이메일과 비밀번호를 확인하여 사용자가 존재하는지 검증한다.
- 사용자가 존재하고 비밀번호가 일치하는 경우, JWT 토큰을 생성하여 반환한다.
- 사용자가 존재하지 않거나 비밀번호가 일치하지 않으면 로그인 실패 메시지를 반환한다.
요구 사항
- OwnerLoginReqDto: 로그인 요청에서 이메일과 비밀번호를 받는 DTO.
- 필드:
email,password - 유효성 검사:
email은 이메일 형식이어야 하고, 둘 다 공백일 수 없다.
- 필드:
- OwnerLoginRespDto: 로그인 성공 시 JWT 토큰을 담아 반환하는 DTO.
- 필드:
token
- 필드:
- JwtTokenProvider: JWT 토큰 생성 및 검증을 담당하는 유틸리티 클래스.
- 메서드:
createToken(String email)– 이메일을 기반으로 JWT 토큰을 생성
- 메서드:
- OwnerService:
- 메서드:
login(OwnerLoginReqDto reqDto)– 이메일과 비밀번호를 검증하고 JWT 토큰을 반환 - 이메일 중복 및 비밀번호 일치 여부를 확인하여 일치하지 않을 경우 예외를 던짐
- 메서드:
- OwnerController:
- 엔드포인트:
POST /api/owners/login– 로그인 요청을 처리하여 JWT 토큰 반환 - 입력: OwnerLoginReqDto
- 출력: OwnerLoginRespDto
- 예외 처리: 잘못된 이메일이나 비밀번호 입력 시 적절한 에러 메시지 반환
- 엔드포인트:
참고 사항
- JWT 발급 방식 및 토큰 유효 시간은
JwtTokenProvider클래스에서 관리 - 관련 이슈: 사장님 회원가입 기능 (사장님 회원가입 기능 구현 #14)
Metadata
Metadata
Assignees
Labels
No labels