피드로 돌아가기
Why your MCP server should serve OAuth Protected Resource Metadata — AuthKit + RFC 9728
Dev.toDev.to
Security

RFC 9728 기반 Metadata 공개로 클라이언트 온보딩 시간 92% 단축

Why your MCP server should serve OAuth Protected Resource Metadata — AuthKit + RFC 9728

kanta13jp12026년 5월 3일5advanced

Context

다양한 MCP 클라이언트가 혼재된 환경에서 인증 설정의 하드코딩으로 인한 운영 효율 저하 발생. 매 클라이언트 추가 시 수동 런북 작성과 인증 설정 변경에 따른 문서 최신화 비용이 지속적으로 증가하는 병목 지점 확인.

Technical Solution

  • RFC 9728 표준을 적용하여 /.well-known/oauth-protected-resource 경로에 인증 메타데이터를 공개하는 Discovery 메커니즘 구축
  • RFC 8707 Resource Indicators를 통한 정밀한 Audience 검증 로직 구현으로 JWT 기반의 보안 경계 설정
  • AuthKit URL과 Issuer를 분리하여 메타데이터에 명시함으로써 인간 대상 로그인 UI와 토큰 검증 서버의 혼선 방지
  • Issuer Trailing Slash 허용 로직을 메타데이터에 명시하여 다양한 환경의 클라이언트 호환성 확보
  • 401 응답의 WWW-Authenticate 헤더에 메타데이터 URL을 포함시켜 미설정 클라이언트의 자동 Bootstrap 유도
  • Postgres 기반의 agent_tool_policy_server_gate를 도입하여 메타데이터(계약)와 별개로 실제 권한(강제)을 분리한 서버 사이드 Scope Gate 설계

- 표준 기반의 Discovery 엔드포인트를 구축하여 클라이언트 의존성 제거 - JWT Audience 검증 시 실제 배포 환경(CDN, Custom Domain)의 URL 일치 여부 확인 - 외부 라이브러리의 기본 동작(예: WorkOS의 Audience 미포함)을 분석하여 메타데이터에 명시적 가이드 제공 - 메타데이터 생성기와 검증기를 동일한 Fixture로 테스트하는 CI 스냅샷 테스트 도입

원문 읽기