掲載済み (2026-06-13号)
157 226文字 • 2分

OmniAuth ベース OAuth 2 認可サーバー Himari に MCP 向け機能を実装した

日本語

掲載情報

概要

独自開発のOAuth 2認可サーバー「Himari」をMCP(Model Context Protocol)に対応させるため、OAuth 2.1、DCR、CIMD、リフレッシュトークン等の機能を実装した技術的詳解。

詳細内容

著者のsorah氏が開発・運用している、OmniAuthを上流としたサーバーレスOAuth 2認可サーバー/OIDCプロバイダ「Himari」のアップデート報告です。LLMの連携プロトコルであるMCP (Model Context Protocol) サーバーでの認証にHimariを活用するため、MCPが準拠を求める最新の仕様群を実装しました。 主な実装・改善項目は以下の通りです: - **OAuth 2.1対応**: loopback URLでのポート番号無視(RFC 9207)や、認可レスポンスへのissパラメータ付与などを実施。 - **AS Metadata (RFC 8414)**: OIDCのDiscoveryドキュメントを一般化したメタデータエンドポイントの提供。 - **Dynamic Client Registration (RFC 7591)**: クライアントの動的登録機能。MCPクライアントのような不特定多数の接続に対応します。 - **Client ID Metadata Documents (CIMD)**: クライアントIDにURLを使用し、動的にメタデータを取得する最新ドラフト仕様への対応。SSRF対策等の考慮点についても触れられています。 - **リフレッシュトークン**: OmniAuthの上流認証を考慮した独自のリフレッシュロジックを実装。 - **RFC 9068 (JWT Profile)**: Amazon Bedrock AgentCore等での検証を容易にするため、アクセストークンのJWT化に対応。 サーバーレス(AWS Lambda + DynamoDB)環境での柔軟な認証基盤としての有用性が示されています。