MCP(モデルコンテキストプロトコル)
MCP 認証
PKCE、動的クライアント登録、トークン更新、取り消しに対応した OAuth 2.1 認可コードフローです。
検出
例
/.well-known/oauth-protected-resource/mcp
/.well-known/oauth-authorization-server保護リソース文書は MCP リソースと認可サーバーを示します。認可サーバー文書には、認可、トークン、登録、取り消し、ユーザー情報の各エンドポイントが記載されます。
認可フロー
- 1クライアントと正確なリダイレクト URI を登録します。
- 2PKCE verifier と S256 challenge を作成します。
- 3resource、state、scope、challenge を指定してユーザーを /oauth/authorize に誘導します。
- 41 回限りのコードを /oauth/token で交換します。
- 5アクセストークンを Bearer トークンとして送信します。有効期限が切れたら更新し、ログアウト時に取り消します。
セキュリティの特性
- 認可コードは 1 回のみ使用でき、10 分後に期限切れになります。
- アクセストークンと更新トークンはサーバー側でハッシュ化して保存され、正規の MCP リソース audience に紐付けられます。
- リダイレクト URI には HTTPS が必要です。ただし、ローカルクライアント用のループバック HTTP と Cursor の cursor:// MCP コールバックは例外です。
- MCP ハンドラーは認証済みユーザー ID ごとに非公開リソースを分離します。