Skip to content

[feat] dev mock OAuth를 X-Mock-OAuth 헤더로 선택 가능하게 분기 #312

Description

@ddingmin

🎯 목적

dev 환경에서 실제 카카오/Apple OAuth와 Mock OAuth를 모두 사용할 수 있도록 한다. 현재는 mock-oauth.enabled=true이면 Real processor가 비활성화되어, 실제 OAuth로 가입한 유저의 토큰이 만료되면 dev에서 그 유저로 테스트할 수 없는 문제가 있다.

📦 변경 범위

  • KakaoProcessor/AppleProcessor: @ConditionalOnProperty 제거 → 항상 빈 등록
  • 신규 마커 인터페이스 MockOAuthProcessor (Mock processor들이 구현)
  • OAuthProcessorFactory: realMap / mockMap 분리, getClient(type, useMock) 시그니처
  • AuthController.login@RequestHeader(name = "X-Mock-OAuth", required = false, defaultValue = "false") useMock: Boolean 추가
  • prod 안전 장치: Mock 빈 없음 + useMock=true 들어오면 UnsupportedOAuthModeException → 400 (Real fallback 없음)

⚠️ 운영 영향

  • dev: 헤더 없거나 false → 기존 prod 가입 유저로 로그인 가능. 헤더 true → Mock 가입자로 로그인.
  • prod: Mock 빈 미등록 + 400 reject 이중 안전. 동작 변경 없음.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions