Skip to content

강의(교육) 신청 고도화 작업#125

Open
hot666666 wants to merge 16 commits into
DOROEDU:developfrom
hot666666:feat-124
Open

강의(교육) 신청 고도화 작업#125
hot666666 wants to merge 16 commits into
DOROEDU:developfrom
hot666666:feat-124

Conversation

@hot666666
Copy link
Copy Markdown

@hot666666 hot666666 commented Dec 7, 2023

PR 타입(하나 이상의 PR 타입을 선택해주세요)

  • 기능 추가
  • 기능 삭제
  • 버그 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트

반영 브랜치

ex) hot666666/feat-124 -> DOROEDU/develop

변경 사항

  1. 기능
  • 기존 web app 서버 통합 #120 에서 강의(교육) 신청 관련 요청 수행 시, 세션을 통해 핸드폰 인증이 진행
  • SessionFilter는 "/education-application/**" 관련 요청에 대해 세션작업을 수행
  • 휴대폰 인증("/message/verify2") 성공 -> Redis에 (session-id[키], phoneNumber[값])으로 저장, session-id는 UUID로 생성
  • 휴대폰 인증 성공 시, session-id를 요청자의 Session-Id 헤더에 추가
  • SessionFilter에서는 해당 헤더 값을 확인 후, 올바른 Session-Id라면 phoneNumber를 EducationApplicationApi("/education-application")에 전달
  • 사용자가 요청하는 DTO의 핸드폰번호와 세션 필터를 통해 얻은 핸드폰번호를 비교하여 유효한지 확인하여 처리
  1. 버그 수정
  • UserLectureServiceTest
  • LectureRepositoryTest

테스트 결과

verifyAuthNum2 - 기존 메서드와 달리 인증에 사용된 번호를 세션처럼 이용
- SendAuthNumReq의 MessageType에 TEMP 추가
- VerifyAuthNumReq, VerifyAuthNumRes 수정
인증된 전화번호를 위한 세션을 생성해주는 엔드포인트 추가("message/verify2")
- MessageControllerTest.java
- MessageServiceImplTest.java
- MessageServiceTestSetup.java
세션필터는 "/education-application/**" 주소에만 적용됨
요청 헤더의 Session-Id를 통해 휴대폰 번호를 컨트롤러에 전달
- SessionFilter
- SessionFilterHandler
- SessionException
- SecurityConfig
@order을 추가해 JwtAuthenticationFilter 순서 지정
- EducationApplicationReq
- RetrieveApplicationReq
세션인증과 관련된 오류 enum 추가
세션필터를 통해 phoneNumber를 얻어 EducationApplication API에서 사용합니다
인증된 핸드폰 번호와 같은지 검사하는 로직 추가
- EducationApplicationService
- ClassGroupService
인증된 핸드폰 번호와 엔티티 아이디를 한번에 검색하는 메서드 추가
기존 테스트에서 인증된 핸드폰을 추가한 테스트 업데이트
- EducationApplicationTestSetup
- EducationApplicationApiTest
- EducationApplicationServiceTest
- ClassGroupServiceTest
@weightsforfun
Copy link
Copy Markdown
Collaborator

고생하셨습니다!! 프론트 측이랑 테스트 해서 잘 작동하면 끝날거 같습니다!! 😀
커밋, MR 작성 , 코드 작성 모두 신경쓰셔서 하신게 보여서 너무 좋은거 같습니다! 👍👍👍

프론트측이랑 테스트하면서 얘기해보시고 혹시 필요하신거 있으면 말해주세요! 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants