피드로 돌아가기
Dev.toBackend
원문 읽기
600줄의 브라우저 해킹 코드를 OAuth 2.1로 대체한 MCP 서버 최적화
I Convinced DSers to Add OAuth 2.1 — Dropshipping MCP Server v1.4.0
AI 요약
Context
DSers의 공식 API 인증 부재로 Chrome DevTools Protocol을 통한 세션 캡처 방식 사용. 브라우저 의존성으로 인한 플랫폼별 구현 복잡도 증가. 6시간마다 발생하는 세션 만료로 인한 작업 중단 문제 발생.
Technical Solution
- DSers 팀과 협의하여 PKCE 기반의 OAuth 2.1 인증 체계 도입
- Access Token과 Refresh Token을 활용한 무중단 자동 갱신 구조 설계
- Chromium 의존성을 완전히 제거하고 로컬 암호화 파일 기반의 토큰 저장 방식 채택
- Vercel 환경의 요청 컨텍스트 제약을 해결하기 위해 요청당 개별 handler를 생성하는 패턴 적용
- JWT의 sub claim을 추출하여 멀티 테넌트 환경의 사용자 데이터 격리 구현
- provider.ts 단일 거대 파일을 13개의 모듈(provider 6개, service 7개)로 분리하는 리팩토링 수행
Impact
- 인증 관련 코드 600라인에서 200라인으로 감소
- 테스트 케이스 195개에서 298개로 확대
Key Takeaway
외부 서비스의 인증 제약이 있을 때 단순 우회책(Workaround)보다는 공식 표준(OAuth 2.1) 도입을 위한 파트너십 체결이 장기적인 유지보수성과 확장성 확보의 핵심임.
실천 포인트
인증 로직이 비대해질 경우 브라우저 자동화 대신 표준 프로토콜 도입을 우선 검토하고, Vercel 같은 Serverless 환경에서는 요청 생명주기에 맞춘 핸들러 설계가 필요함