### 시나리오 1. 사용자가 이메일과 비밀번호를 입력하여 로그인 요청을 보낸다. 2. 시스템은 입력된 이메일과 비밀번호를 확인하여 사용자가 존재하는지 검증한다. 3. 사용자가 존재하고 비밀번호가 일치하는 경우, JWT 토큰을 생성하여 반환한다. 4. 사용자가 존재하지 않거나 비밀번호가 일치하지 않으면 로그인 실패 메시지를 반환한다. ### 요구 사항 - **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)
시나리오
요구 사항
email,passwordemail은 이메일 형식이어야 하고, 둘 다 공백일 수 없다.tokencreateToken(String email)– 이메일을 기반으로 JWT 토큰을 생성login(OwnerLoginReqDto reqDto)– 이메일과 비밀번호를 검증하고 JWT 토큰을 반환POST /api/owners/login– 로그인 요청을 처리하여 JWT 토큰 반환참고 사항
JwtTokenProvider클래스에서 관리