Package inha.git.auth.api.controller
Class AuthController
java.lang.Object
inha.git.auth.api.controller.AuthController
인증 관련 API를 처리하는 컨트롤러입니다.
로그인, 이메일 인증, 비밀번호 찾기 등 인증이 필요 없는 엔드포인트를 제공합니다.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindEmail
(@Valid FindEmailRequest findEmailRequest) 학번과 이름으로 사용자의 이메일(아이디)을 찾습니다.findPassword
(@Valid ChangePasswordRequest changePasswordRequest) 이메일 인증 후 새로운 비밀번호로 변경합니다.findPasswordMailSend
(@Valid FindPasswordRequest findPasswordRequest) 비밀번호 찾기를 위한 이메일 인증번호를 발송합니다.findPasswordMailSendCheck
(@Valid FindPasswordCheckRequest fdindPasswordCheckRequest) 비밀번호 찾기를 위해 발송된 인증번호를 검증합니다.login
(@Valid LoginRequest loginRequest) 사용자 로그인을 처리합니다.mailSend
(@Valid EmailRequest emailRequest) 회원가입 및 인증을 위한 이메일 인증번호를 발송합니다.mailSendCheck
(@Valid EmailCheckRequest emailCheckRequest) 발송된 이메일 인증번호의 유효성을 검증합니다.
-
Constructor Details
-
AuthController
public AuthController()
-
-
Method Details
-
mailSend
@PostMapping("/number") public BaseResponse<String> mailSend(@RequestBody @Valid @Valid EmailRequest emailRequest) 회원가입 및 인증을 위한 이메일 인증번호를 발송합니다.- Parameters:
emailRequest
- 이메일 주소와 인증 타입(회원가입/비밀번호 찾기 등)을 포함한 요청- Returns:
- 이메일 발송 결과 메시지
- Throws:
BaseException
- EMAIL_SEND_FAIL: 이메일 발송 실패 시
-
mailSendCheck
@PostMapping("/number/check") public BaseResponse<Boolean> mailSendCheck(@RequestBody @Valid @Valid EmailCheckRequest emailCheckRequest) 발송된 이메일 인증번호의 유효성을 검증합니다.- Parameters:
emailCheckRequest
- 이메일 주소, 인증번호, 인증 타입을 포함한 요청- Returns:
- 인증 성공 여부 (true/false)
- Throws:
BaseException
- EMAIL_AUTH_EXPIRED: 인증 시간 만료, EMAIL_AUTH_NOT_MATCH: 인증번호 불일치
-
login
@PostMapping("/login") public BaseResponse<LoginResponse> login(@RequestBody @Valid @Valid LoginRequest loginRequest) 사용자 로그인을 처리합니다.- Parameters:
loginRequest
- 이메일과 비밀번호를 포함한 로그인 요청- Returns:
- JWT 토큰과 사용자 정보를 포함한 응답
- Throws:
BaseException
- ACCOUNT_LOCKED: 계정 잠김, EMAIL_NOT_FOUND: 존재하지 않는 이메일 BLOCKED_USER: 차단된 사용자 NOT_APPROVED_USER: 승인되지 않은 사용자
-
findEmail
@PostMapping("/find/email") public BaseResponse<FindEmailResponse> findEmail(@RequestBody @Valid @Valid FindEmailRequest findEmailRequest) 학번과 이름으로 사용자의 이메일(아이디)을 찾습니다.- Parameters:
findEmailRequest
- 학번과 이름을 포함한 요청- Returns:
- 찾은 이메일 정보
- Throws:
BaseException
- USER_NOT_FOUND: 일치하는 사용자 정보가 없는 경우
-
findPasswordMailSend
@PostMapping("/find/pw") public BaseResponse<String> findPasswordMailSend(@RequestBody @Valid @Valid FindPasswordRequest findPasswordRequest) 비밀번호 찾기를 위한 이메일 인증번호를 발송합니다.- Parameters:
findPasswordRequest
- 이메일 주소를 포함한 요청- Returns:
- 이메일 발송 결과 메시지
- Throws:
BaseException
- EMAIL_NOT_FOUND: 가입되지 않은 이메일인 경우, EMAIL_SEND_FAIL: 이메일 발송 실패
-
findPasswordMailSendCheck
@PostMapping("/find/pw/check") public BaseResponse<Boolean> findPasswordMailSendCheck(@RequestBody @Valid @Valid FindPasswordCheckRequest fdindPasswordCheckRequest) 비밀번호 찾기를 위해 발송된 인증번호를 검증합니다.- Parameters:
fdindPasswordCheckRequest
- 이메일과 인증번호를 포함한 요청- Returns:
- 인증 성공 여부 (true/false)
- Throws:
BaseException
- EMAIL_AUTH_EXPIRED: 인증 시간 만료, EMAIL_AUTH_NOT_MATCH: 인증번호 불일치
-
findPassword
@PostMapping("/find/pw/change") public BaseResponse<UserResponse> findPassword(@RequestBody @Valid @Valid ChangePasswordRequest changePasswordRequest) 이메일 인증 후 새로운 비밀번호로 변경합니다.- Parameters:
changePasswordRequest
- 이메일과 새로운 비밀번호를 포함한 요청- Returns:
- 비밀번호가 변경된 사용자 정보
- Throws:
BaseException
- EMAIL_AUTH_NOT_FOUND: 이메일 인증이 완료되지 않은 경우, EMAIL_NOT_FOUND: 존재하지 않는 이메일
-