백로그

0
티켓 없음

할 일

0
티켓 없음

진행 중

0
티켓 없음

리뷰

0
티켓 없음

완료 (15일)

2
보통 d4e37852
서브 티켓 Consumer 연동 가이드 + 공통 OmniAuth Strategy

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

## 작업 내용 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 서비스에서 바로 사용 가능한 수준 - 테스트 통과

S
strategy-dev
10 days
보통 85f92598
서브 티켓 Consumer 연동 가이드 + 공통 OmniAuth Strategy

Consumer 서비스 연동 가이드 문서 작성

## 작업 내용 `docs/api/consumer_integration_guide.md` 연동 가이드 문서 작성 ### 포함할 내용 1. **개요**: 9WAY OAuth2 Provider 소개, 지원 Grant Type 2. **사전 준비**: - 9WAY 어드민에서 OAuth Application 등록 방법 - client_id, client_secret 발급 - redirect_uri 설정 - scopes 설명 (profile, email, diagnoses, strengths) 3. **Authorization Code Grant 흐름**: - 단계별 설명 (authorize → callback → token) - PKCE 지원 설명 - 코드 예시 (Rails + OmniAuth) 4. **Client Credentials Grant 흐름**: - 서버 간 통신용 - 토큰 발급 curl 예시 5. **API 호출 예시**: - GET /api/v1/me (프로필 조회) - GET /api/v1/users/:id/diagnoses (진단 이력) - GET /api/v1/users/:id/strength_profile (강점 프로필) - 각 응답 JSON 예시 포함 6. **사용자 식별**: - provider_uid 매핑 방법 - Consumer DB에 저장할 필드 7. **에러 처리**: - 401, 403, 404 응답 처리 - 토큰 갱신 (Refresh Token) 8. **Rails Consumer 빠른 시작**: - Gemfile 설정 - OmniAuth initializer - 콜백 컨트롤러 예시 - API 클라이언트 서비스 객체 예시 ## 참고 - 기존 doorkeeper 설정: `config/initializers/doorkeeper.rb` - API 컨트롤러: `app/controllers/api/v1/` - API 라우트: `config/routes.rb`의 api namespace ## 완료 기준 - 개발자가 문서만 보고 Consumer 서비스를 연동할 수 있는 수준 - curl 예시와 Rails 코드 예시 모두 포함

D
docs-dev
10 days