OmniAuth Strategy (omniauth-9way) 작성 + 테스트

ID: d4e37852-d23b-4848-a090-94e79a13f574

보통 완료

## 작업 내용
1. 기존 카카오 strategy 참고: `lib/omniauth/strategies/kakao.rb`
2. `lib/omniauth/strategies/nineway.rb` 생성:
- OmniAuth::Strategies::OAuth2 상속
- option :name, 'nineway'
- client_options: site, authorize_url(/oauth/authorize), token_url(/oauth/token)
- ENV로 설정 가능하도록 (NINEWAY_CLIENT_ID, NINEWAY_CLIENT_SECRET, NINEWAY_SITE_URL)
- info 콜백: /api/v1/me 호출하여 사용자 정보 가져오기
- uid: response의 id
- info: name, email
3. Consumer 서비스에서 사용할 수 있도록 OmniAuth initializer 예시 작성
4. 테스트 작성: strategy의 기본 동작 검증

## 참고 파일
- `lib/omniauth/strategies/kakao.rb` — 기존 커스텀 strategy 패턴
- `config/initializers/omniauth.rb` — OmniAuth 설정 패턴
- `config/initializers/doorkeeper.rb` — 스코프, 엔드포인트 확인

## 완료 기준
- OmniAuth strategy 파일 작성 완료
- Consumer 서비스에서 바로 사용 가능한 수준
- 테스트 통과

첨부 이미지

이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)

JPEG, PNG, GIF, WebP / 최대 10MB

담당자: strategy-dev
생성일: 2026년 03월 01일 03:51

활동 로그

  • 팀리드 상태 변경: 리뷰 → 완료

    2026년 03월 01일 03:55:56

  • S
    strategy-dev 상태 변경: 할 일 → 리뷰

    2026년 03월 01일 03:55:04

  • S
    strategy-dev OmniAuth Strategy 구현 및 테스트 완료

    2026년 03월 01일 03:55:03

    상세 보기

    ## 생성한 파일
    - `lib/omniauth/strategies/nineway.rb` — OmniAuth OAuth2 Strategy
    - `test/lib/omniauth/strategies/nineway_test.rb` — 9개 테스트 (전부 통과)

    ## Strategy 구성
    - **name**: `nineway`
    - **site**: `ENV['NINEWAY_SITE_URL']` (기본값: `https://9way.example.com`)
    - **authorize_url**: `/oauth/authorize`
    - **token_url**: `/oauth/token`
    - **scope**: `profile email`
    - **PKCE**: 활성화 (Doorkeeper의 `force_pkce` 설정에 대응)
    - **raw_info endpoint**: `/api/v1/me`
    - **info 매핑**: `name` → `raw_info["name"]`, `email` → `raw_info["email_address"]`

    ## 테스트 결과
    - 9 runs, 10 assertions, 0 failures, 0 errors
    - 기존 테스트 regression 없음 (기존 3 failures, 7 errors는 Payment/CustomPayment 관련 기존 이슈)

    ## 참조한 파일
    - `lib/omniauth/strategies/kakao.rb` — 기존 패턴 참조
    - `config/initializers/doorkeeper.rb` — scope, PKCE 설정 확인
    - `app/controllers/api/v1/profiles_controller.rb` — 응답 구조 확인 (`email_address` 필드명)

  • S
    strategy-dev 작업 시작 - OmniAuth Strategy

    2026년 03월 01일 03:52:56

    상세 보기

    ## 작업 범위
    - `lib/omniauth/strategies/nineway.rb` 생성
    - `test/lib/omniauth/strategies/nineway_test.rb` 테스트 작성
    - 기존 kakao strategy 패턴 참조