Skip to content

feat: 카카오 OAuth 도입 및 서비스 안정화#106

Merged
won-seoop merged 20 commits into
mainfrom
develop
Feb 18, 2026
Merged

feat: 카카오 OAuth 도입 및 서비스 안정화#106
won-seoop merged 20 commits into
mainfrom
develop

Conversation

@won-seoop

Copy link
Copy Markdown
Member

feat: 카카오 OAuth 도입 및 서비스 안정화

연관된 이슈 : #99 #100 #104 #105

1. 필요성

  • 기존 인증 플로우를 소셜 로그인까지 확장해 회원 진입 장벽을 낮출 필요가 있었습니다.
  • 큐레이션 추천 품질/예측 가능성을 높이고, 운영 중 발생한 데이터 무결성 이슈(중복 좋아요, 삭제 정책, 조회 성능)를 정리할 필요가 있었습니다.
  • 릴리즈 전반의 유지보수성을 위해 정적 분석 도구와 테스트 보강이 필요했습니다.

2. 진행 사항

  • 인증/회원
    • 카카오 OAuth 로그인 플로우 추가 (KakaoOAuthController, KakaoOAuthService, 임시 코드 저장소)
    • 프론트 리다이렉트 URI 및 OAuth 응답 처리 경로 반영
    • Swagger JWT Bearer 설정 추가
  • 추천/큐레이션
    • AI 의존 로직 일부를 태그 기반 매칭 + 가중치 유사도 계산으로 전환
    • 유사도 계산 전용 서비스 및 테스트 보강
  • 데이터 무결성/성능
    • 댓글 soft delete 적용
    • CurationLike 유니크 제약조건 반영(동일 사용자 중복 좋아요 방지)
    • 주요 테이블 인덱스 추가로 조회 성능 개선
  • 품질
    • Checkstyle/PMD/SpotBugs 설정 및 코드 정리
    • OAuth/댓글/큐레이션/구독 관련 테스트 보강

3. 개선된 점

  • 변경 규모 (main..develop 기준)
    • 20 commits
    • 248 files changed
    • +5,091 / -3,838
  • 코드 영향 범위
    • src/main/java 204개 파일, src/test 33개 파일, resources 3개 파일 변경
    • 도메인별 주요 변경: curation 64개, user 34개, auth 29개, comment 19개
  • 테스트 관점
    • 테스트 파일 33개 영향, 신규 테스트 파일 4개 추가
    • OAuth 임시 코드 저장소/유사도 매처 등 신규 로직 검증 케이스 확장

won-seoop and others added 20 commits February 1, 2026 21:12
feat: 큐레이션 추천 시스템 개선 및 코드 품질 향상
- KakaoOAuthController, KakaoOAuthService 추가
- 카카오 인가 코드 기반 로그인/회원가입 처리
- OAuth 사용자용 JWT 토큰 생성 메서드 추가 (JwtUtil)
- 신규 카카오 가입 시 빈 독서취향 자동 생성
- User 엔티티에 provider, providerId 필드 추가
- password 컬럼 nullable 허용 (OAuth 사용자는 비밀번호 없음)
- SecurityConfig에 OAuth 경로 permitAll 추가
- application-dev/local/prod.yml에 oauth.kakao 설정 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: 카카오 소셜 로그인 구현
- 콜백에서 JSON 대신 프론트로 302 리다이렉트
- OAuthTempCodeStore: 임시 코드 저장 (30초 TTL, 일회용)
- POST /api/v1/oauth/token 토큰 교환 엔드포인트 추가
- INVALID_OAUTH_CODE 에러 코드 추가
- application-dev.yml: 기본값 bookpick-front-dev.vercel.app
- application-prod.yml: 환경변수로 설정
- application-local.yml: 환경변수로 설정
- OAuthTempCodeStoreTest: 임시 코드 단위 테스트
- KakaoOAuthControllerTest: 컨트롤러 통합 테스트
- application-test.yml: 테스트 환경 설정
- build.gradle: H2 테스트 의존성 추가
- deleteComment(userId, curationId, commentId) 파라미터 추가
feat[#104]: OAuth 임시 코드 방식 구현
@won-seoop won-seoop merged commit 15095d5 into main Feb 18, 2026
2 checks passed
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.

1 participant