피드로 돌아가기
Dev.toSecurity
원문 읽기
OAuth 2.1 및 4개 RFC 표준 기반의 MCP 서버 보안 아키텍처 설계
Adding OAuth 2.1 to your MCP server in TypeScript
AI 요약
Context
기존 MCP 서버의 Hardcoded API Key 방식은 로컬 환경에 국한되어 원격 서버 배포 시 보안 취약점 발생. MCP 스펙 내 인증 정의 부재로 인한 표준화된 Auth Flow 구축 필요성 대두.
Technical Solution
- RFC 9728 도입을 통한
.well-known/oauth-protected-resource엔드포인트 구현으로 클라이언트의 Authorization Server 자동 발견 구조 설계 - RFC 7591 기반 Dynamic Client Registration 적용으로 사용자별
client_id수동 발급 절차를 제거한 런타임 등록 프로세스 구축 - OAuth 2.1 및 PKCE S256 강제를 통한 Implicit Flow 제거 및 Public Client의 보안성 강화
- RFC 8707 Resource Indicators 적용으로 Access Token을 특정 리소스 URL에 바인딩하여 Token Leakage 및 권한 오남용 방지
- Hono 기반 Middleware 설계를 통한 Bearer Token 검증, Scope 체크, Agent Identity 바인딩의 추상화 처리
실천 포인트
1. `.well-known` 경로를 통한 서비스 디스커버리 메커니즘 구현 여부 확인
2. Public Client 대상 서비스 시 PKCE S256 적용 및 Implicit Flow 제거 검토
3. Token 발급 시 특정 리소스에 종속시키는 Resource Indicator 바인딩 적용
4. 운영 단계 진입 전 Token Revocation API 및 Audit Log 미들웨어 선제적 구축