Conversation
- `application-prod.yml`, `application-alpha.yml`에 `project.logging.env` 추가 - Logback 설정 간소화 및 기본 설정 파일(`base-logback.xml`) 포함 - `GlobalExceptionHandler`에서 예외 처리 시 로그 수준 분리 (4xx는 info, 기타는 error)
- API 명세 문서 작성 및 저장소에 추가(`docs/api-명세서.md`) - GitHub Pages 경로(`/api-명세서/`) 설정 및 문서화 - 저장소 디렉토리 구조 및 실행 가이드 갱신
- `/api/v2/auth/*/login` 경로 및 컨트롤러(SocialLoginV2Controller) 추가 - X-Client-Id 헤더 기반 응답 분기를 통해 웹/앱 클라이언트 지원 - OAuth 제공자별 Google, Kakao, Naver 소셜 로그인 V2 API 구현 - SecurityConfig에서 V2 로그인 경로 추가 - SocialLoginResponseDto 클래스 추가를 통한 앱 응답 전용 DTO 제공 - AuthController에 AT/RT 처리 방식 개선 (웹/앱 구분 로직 추가) - deploy.yml 경로 설정에 문서 변경 무시 규칙 추가
- AT/RT 처리 로직에서 사일런트 리프레시 분리 및 재사용성 강화 - 토큰 유효 여부, 만료 처리 방식 변경 및 관련 로직 최적화 - 웹/앱 클라이언트 구분에 따른 쿠키/헤더 처리 방식 개선 - 서비스 응답 헤더 설정 로직 리팩토링
- Google Credential Manager에서 발급받은 ID Token 검증 로직 구현 - 자체 JWT 발급 및 Google ID Token 검증 처리 로직 추가 - `GoogleAppLoginService` 클래스 및 관련 엔티티, 예외 처리 로직 구성 - 로그 추가를 통해 인증 및 검증 흐름 추적 가능
- Google ID Token 검증 과정에서 불필요한 X-Client-Id 헤더 제거 - 관련 API 명세 문서에서 X-Client-Id 헤더 설명 삭제 - 컨트롤러 메서드 파라미터 수정 및 필요 없는 코드 정리
- `/api/v1/auth/google/login/app` 경로 SecurityConfig에 추가 - Google ID Token 기반 로그인 지원 강화
- `/internal-api/**` 경로 SecurityConfig에 허용 추가 (X-Internal-Secret으로 보호) - `application.yml`에 INTERNAL_API_SECRET 환경 변수 설정 추가
- `/internal-api/v1/members/{userId}` 경로 및 컨트롤러 추가
- 요청 헤더(X-Internal-Secret)를 통한 인증 및 내부 API 접근 보호
- 회원 정보(userId, email, nickname) 응답 DTO 구성
- 서비스 호출 및 예외 처리 로직 구현
- `MemberService`에 SLF4J 로거 추가 및 주요 메서드에 디버그/워닝/에러 로그 추가 - `GlobalExceptionHandler`에서 예상하지 못한 예외 발생 시 스택 트레이스를 포함한 에러 로그 출력 - `InternalMemberController`에 로거 추가 및 요청/응답 과정 로그 기록 - 내부 API 인증 실패 시 워닝 로그 추가 및 검증 흐름 로그 개선
- 기존 `X-Client-Id` 헤더 제거 및 `X-Client-Type` 헤더로 변경 - API Gateway를 통한 클라이언트 타입 기반 웹/앱 구분 로직 개선
* feat: 네이버 소셜로그인 시 전화번호 저장 및 user-info 응답 추가 네이버 UserInfo 응답의 mobile 값을 하이픈 제거 형태로 정규화하여 회원 전화번호로 저장하고, user-info 응답(공개/내부)에 내려준다. - OAuthUser에 phoneNumber 필드 추가 (기본값 null로 타 provider 영향 없음) - NaverUserInfoResponse.getNormalizedMobile()로 "010-1234-5678" -> "01012345678" 정규화 - NaverOAuthClient가 mobile을 OAuthUser.phoneNumber로 매핑 - MemberEntity.phoneNumber를 var로 변경, createSocialMember 파라미터 및 updatePhoneNumber() 추가 - SocialLoginMemberProcessor: 신규 회원 저장 및 재로그인 시 최신 값으로 갱신 - MemberService.UserInfoResult, UserInfoResponseDto, 내부 UserInfoResponse에 phoneNumber 추가 또한 InternalMemberController의 클래스 레벨 @RequestMapping prefix를 제거하고 메서드에 전체 경로(/internal-api/v1/members/{userId})를 명시하도록 정리한다. * test: 전화번호 기능 단위 테스트 추가 및 기존 단위 테스트 API 정합성 수정 - NaverUserInfoResponseTest: mobile 정규화 검증 (신규) - SocialLoginMemberProcessorTest: 신규 저장/재로그인 갱신/mobile 없을 때 유지 검증 (신규) - MemberServiceTest, MemberEntityTest: phoneNumber 관련 검증 추가 - JwtProviderTest, AuthServiceTest, JwtPropertiesBindingTest: 현재 시그니처 (Role 제거, memberStatsService 추가, createAccessToken extraClaims)에 맞게 수정 integration 테스트는 별도 수정이 필요해 이 커밋에서 제외한다.
# Conflicts: # src/main/kotlin/com/wq/auth/api/controller/internal/InternalMemberController.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#️⃣ 연관된 이슈
📝 작업 내용
📷 스크린샷
💬 리뷰 요구사항