Skip to content

V1 기능 개발 고도화 목록 (kylie) #55

@kyoungjini

Description

@kyoungjini

@2sg

고도화할 사항들 우선순위 적용하여 리스트업했습니다.
각 항목은 서브 이슈로 등록해두었습니다.

V1 담당 기능

  1. 로그인 (OAuth JWT)
  2. 회원가입 (닉네임, 프로필 이미지)
  3. 사용자 정보 조회 (메인페이지, 마이페이지)

고도화 및 리팩토링 리스트업

  1. S3 profiles 설정 추가 (리팩토링)

    S3 이미지 업로드 기능을 구현하여 S3가 활성화되어 있어야 로컬에서도 테스트해볼 수 있는 상황임
    profiles 설정을 이용해 application.properties에 no-s3를 설정해두면 S3 없이도 로컬에서 정상 작동하도록 구현하는 것이 로컬에서의 편리한 테스트를 위해서 필요함

    예상 소요시간: 0.5일

  2. 리프레시 토큰 구현 (기능개발)

    현재는 엑세스 토큰만 이용하도록 구현함
    보안을 위해 엑세스 토큰 유효기간 줄이고 리프레시 토큰 도입해야 함
    rotation까지 구현해 재사용 방지

    예상 소요시간: 1일

  3. 엑세스 토큰 LocalStorage에 저장 (보안강화)

    현재는 엑세스 토큰을 쿠키에 저장하는 방식으로 구현함
    리프레시 토큰을 구현해 엑세스 토큰에 짧은 유효기간을 부여할 수 있다면 CSRF 공격에 덜 취약한 LocalStorage에 저장해두는 것이 더 안전함

    예상 소요시간: 1일

  4. 테스트 코드 작성 (리팩토링)

    UserService, UserController, AuthService, AuthController에 대한 테스트 코드

    예상 소요시간: 3일

  5. Redis 캐싱 도입 (성능개선)

    리프레시 토큰 캐싱
    리프레시 토큰이 재사용되는지 파악해 보안을 강화할 수 있음
    DB에 접근하는 대신 Redis 캐시를 활용해 DB 부하를 줄일 수 있음
    캐싱에 대한 테스트 코드 작성

    예상 소요시간: 3일

  6. 닉네임 유효성 검사 추가 (보안강화)

    프론트엔드에서만 닉네임 유효성 검사를 진행하고 있음
    프론트엔드에서만 검사하면 개발자 도구로 공격 가능
    보안을 위해 백엔드에서도 이중으로 유효성 검사 필요

    예상 소요시간: 0.5일

  7. DTO 수정 (리팩토링)

    UserReponseDto에 스펙 존재 여부까지 포함해야 하는데 따로 보내고 있음
    UserResponseDto와 별개로 UserWithSpecResponseDto 필요

    예상 소요시간: 0.5일

  8. 전역 예외 처리 (리팩토링)

    GlobalExceptionHandler 작성하여 에러 메시지 통합 관리

    예상 소요시간: 0.5일

Sub-issues

Metadata

Metadata

Assignees

Labels

제안기능을 제안하거나 의견을 제시할 때

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions