피드로 돌아가기
Adding OAuth 2.1 to your MCP server in TypeScript
Dev.toDev.to
Security

OAuth 2.1 및 4개 RFC 표준 기반의 MCP 서버 보안 아키텍처 설계

Adding OAuth 2.1 to your MCP server in TypeScript

GDS K S2026년 4월 29일7intermediate

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 미들웨어 선제적 구축

원문 읽기