Conversation
* feat: 찜 수 집계 쿼리 추가 * feat: 찜 수 및 찜 ID 목록 조회 쿼리 추가 * feat: 기념품 상세 조회에 찜 수/여부 추가 * feat: 근처 기념품 목록 조회에 찜 수/여부 추가 * feat: 내 기념품 목록 조회에 찜 수/여부 추가 * feat: 일반 추천 기념품 조회에 찜 수/여부 추가 * feat: AI 추천 기념품 조회에 찜 수/여부 추가 * test: 찜 수/여부 추가에 따른 테스트 수정
* feat: 찜 기능 테스트 코드 및 API 문서 작성 * feat: 찜 목록 조회 응답에 isWishlisted 필드 추가
* feat: 탈퇴 유저 삭제 배치 스케줄러 추가 * feat: 탈퇴 유저 삭제 로직 반환값 추가 및 테스트 수정 * chore: 불필요한 import 구문 제거
[SOU-603] auth 바운디드 컨텍스트 수정
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb17b624a3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Long adminId = jwtTokenProvider.getUserIdFromToken(token); | ||
| return adminRepository.findById(UUID.fromString(String.valueOf(adminId))).orElse(null); |
There was a problem hiding this comment.
관리자 JWT subject를 UUID로 해석하도록 수정하세요
현재 관리자 로그인 토큰은 AdminAuthService에서 savedAdmin.getId().toString()(UUID 문자열)로 생성되는데, 인증 필터는 이를 Long으로 파싱한 뒤 다시 UUID.fromString(...)에 넘기고 있어 관리자 토큰이 들어오면 인증 컨텍스트 설정이 실패합니다. 이 상태에서는 /api/admin/**의 @RequireAuth 엔드포인트가 정상 동작하지 않으므로, 관리자 경로에서는 subject를 문자열 UUID로 직접 파싱하거나 관리자 전용 토큰 파서를 분리해야 합니다.
Useful? React with 👍 / 👎.
| env_file: | ||
| - .env.prod |
There was a problem hiding this comment.
DB compose가 기존 환경파일을 사용하도록 맞추세요
프로덕션 배포 스크립트와 기존 blue/green compose는 .env를 기준으로 동작하는데, 새 DB compose만 env_file: .env.prod를 사용해 변수 소스를 다르게 잡고 있습니다. 운영 서버에 .env.prod가 없거나 값이 분리되어 있으면 PROD_POSTGRES_USER/PROD_POSTGRES_PASSWORD 치환이 비어 DB 컨테이너 기동이 실패할 수 있으므로, 기존 배포 체계와 동일한 env 파일로 통일하거나 배포 스크립트에서 동일 파일을 보장해야 합니다.
Useful? React with 👍 / 👎.
| public String generateRefreshToken() { | ||
| return createToken("refresh", jwtProperties.getRefreshExpiration()); |
There was a problem hiding this comment.
Refresh token에 고정 subject 대신 고유 값을 포함하세요
사용자 refresh token 생성이 항상 "refresh" subject로 고정되어 있고 추가적인 고유 claim(jti 등)이 없어, 같은 밀리초에 발급되면 서로 동일한 JWT가 생성될 수 있습니다. refresh_token.token이 유니크인 구조에서 동시 로그인 시 간헐적 저장 실패를 유발할 수 있으므로, 최소한 user 식별자나 랜덤 UUID를 토큰 payload에 포함해 충돌 가능성을 제거해야 합니다.
Useful? React with 👍 / 👎.
* [SOU-593] 기념품 조회 응답에 찜 수/여부 추가 (#250) * feat: 찜 수 집계 쿼리 추가 * feat: 찜 수 및 찜 ID 목록 조회 쿼리 추가 * feat: 기념품 상세 조회에 찜 수/여부 추가 * feat: 근처 기념품 목록 조회에 찜 수/여부 추가 * feat: 내 기념품 목록 조회에 찜 수/여부 추가 * feat: 일반 추천 기념품 조회에 찜 수/여부 추가 * feat: AI 추천 기념품 조회에 찜 수/여부 추가 * test: 찜 수/여부 추가에 따른 테스트 수정 * [SOU-571] 찜 기능 테스트 코드 및 API 문서 작성 (#251) * feat: 찜 기능 테스트 코드 및 API 문서 작성 * feat: 찜 목록 조회 응답에 isWishlisted 필드 추가 * [SOU-601] 탈퇴 유저 삭제 배치 스케줄러 구현 (#252) * feat: 탈퇴 유저 삭제 배치 스케줄러 추가 * feat: 탈퇴 유저 삭제 로직 반환값 추가 및 테스트 수정 * chore: 불필요한 import 구문 제거 * fix: userId UUID 타입 불일치로 인한 NumberFormatException 수정 (#253) * feat: 탈퇴 유저 배치 삭제로 정책 변경 및 테스트 수정 (#254) * feat: 정보 동의한 회원들에게만 알림을 발송하도록 수정 (#255) * refactor: auth 바운디드 컨텍스트 수정 * fix: 깃 충돌 수정 * refactor: 정책에 따라 테스트 코드 수정 * [SOU-622] Docker DB 전환 및 자동 백업 파이프라인 구축 * feat: db 백업 자동화 스크립트 추가 (#259) --------- Co-authored-by: johoon030 <142702766+hoonjo123@users.noreply.github.com> Co-authored-by: Develop-KIM <kimdonghwan913@gmail.com> Co-authored-by: monkey <105265603+Develop-KIM@users.noreply.github.com>
No description provided.