Skip to content

[deploy] Production 환경 배포#69

Merged
imeasy99 merged 15 commits into
mainfrom
dev
Jul 22, 2026
Merged

[deploy] Production 환경 배포#69
imeasy99 merged 15 commits into
mainfrom
dev

Conversation

@imeasy99

Copy link
Copy Markdown
Collaborator

#️⃣ 연관된 이슈

ex) close #Issue number

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

📷 스크린샷

이미지

💬 리뷰 요구사항

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 명칭

imeasy99 added 14 commits April 6, 2026 11:59
- `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 테스트는 별도 수정이 필요해 이 커밋에서 제외한다.
@imeasy99 imeasy99 self-assigned this Jul 22, 2026
# Conflicts:
#	src/main/kotlin/com/wq/auth/api/controller/internal/InternalMemberController.kt
@imeasy99
imeasy99 merged commit 1470a8a into main Jul 22, 2026
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.

1 participant