피드로 돌아가기
MCP Auth That Actually Works: OAuth for Remote Servers
Dev.toDev.to
Security

OAuth 2.1 및 PKCE 도입으로 Remote MCP 서버의 보안 및 Multi-tenancy 해결

MCP Auth That Actually Works: OAuth for Remote Servers

Eugen2026년 4월 24일20intermediate

Context

Local MCP 서버의 Static API Key 방식은 Key 유출 시 전체 권한 노출 및 유효기간 관리 불가라는 보안 결함 존재. 또한 User Consent 과정 부재와 Team 단위 권한 제어가 불가능한 구조로 인해 SaaS 제품 적용에 한계 노출.

Technical Solution

  • HTTP Transport 기반 Remote MCP 서버 구축을 통한 Local Process 및 Binary 설치 의존성 제거
  • PKCE(Proof Key for Code Exchange)가 적용된 OAuth 2.1 Authorization Code Flow 구현으로 Public Client 보안 강화
  • .well-known 표준 문서를 통한 Auth Endpoint 및 Supported Scopes의 자동 Discovery 메커니즘 설계
  • Access Token(1시간)과 Refresh Token(30일)의 분리 운영으로 토큰 탈취 리스크 최소화 및 세션 유지 효율성 확보
  • Domain:Level 명명 규칙 기반의 세밀한 Scope 설계로 기능 확장 시 권한 체계의 일관성 유지
  • 요청마다 실시간 Team Membership 검증 로직을 수행하여 권한 박탈 즉시 액세스 차단하는 Live Check 구조 채택

1. Public Client 대상 인증 설계 시 S256 기반 PKCE 강제 적용 여부 검토

2. DB 저장 전 토큰 해싱 처리를 통한 데이터 유출 시 2차 피해 방지책 마련

3. 확장성을 고려한 '도메인:동작(domain:action)' 형태의 Scope 명명 체계 수립

4. 권한 변경 즉시 반영을 위한 API Gateway 또는 Middleware 단계의 멤버십 실시간 검증 로직 추가

원문 읽기