Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[6주차] 기본 과제 & 심화 과제 #8

Merged
merged 24 commits into from
Dec 11, 2023
Merged

[6주차] 기본 과제 & 심화 과제 #8

merged 24 commits into from
Dec 11, 2023

Conversation

SunwoongH
Copy link
Member

Related Issue ☃️

Description ✔️

  • 회원가입 & 로그인 & Jwt 재발급 API를 구현하였습니다.
  • 게시물 생성 시 이미지가 첨부가 되도록 API를 수정하였습니다.
  • Jwt는 발급, 생성, 검증 세 가지의 책임으로 구분하여 각각 JwtProvider, JwtGenerator, JwtValidator 클래스로 구현하였습니다.
  • Jwt를 활용한 사용자 인증을 위해 JwtAuthenticationFilter 클래스를 구현하였습니다. JwtAuthenticationFilter는 요청 받은 access token의 유효성을 검증하고 사용자 인증 책임을 가집니다.
  • JwtAuthenticationFilter에서 access token 유효성 검증에 실패한 경우 발생하는 UnauthorizedException을 핸들링하기 위해 ExceptionHandlerFilter 클래스를 구현하였습니다. ExceptionHandlerFilter는 UnauthorizedException을 핸들링하는 책임을 가집니다.
  • JwtAuthenticationFilter에서 사용자 인증에 실패한 경우 발생하는 예외를 핸들링하기 위해 JwtAuthenticationEntryPoint 클래스를 구현하였습니다. JwtAuthenticationEntryPoint는 사용자 인증 실패 시 발생하는 예외를 핸들링하는 책임을 가집니다.
  • 설계한 API 스펙 중, memberId가 요구되는 경우 이를 공통적으로 처리하여 컨트롤러의 파라미터로 전달하기 위해 MemberId 커스텀 어노테이션과 MemberIdArgumentResolver 클래스를 구현하였습니다.
  • access token의 만료 시간은 30분, refresh token의 만료 시간은 1주일로 설정하였습니다.
  • infra 모듈을 추가하여 s3 이미지 업로드, 삭제 책임을 가지는 S3Handler 클래스를 구현하였습니다.

@SunwoongH SunwoongH added the feat label Nov 30, 2023
@SunwoongH SunwoongH self-assigned this Nov 30, 2023
Copy link
Member

@kseysh kseysh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

항상 보면 누구보다 열심히 과제를 하시는 것 같아요 많이 배워갑니다 고생하셨습니다!!

@SunwoongH SunwoongH merged commit 93bb2e4 into develop Dec 11, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[6주차] 기본 과제 & 심화 과제
2 participants