⭐️OAuth: 全体像

OAuth は、ユーザーの許可を得て、アプリがユーザーの代わりに API を呼べるようにする仕組み。MCP では次の対応になる。

OAuth の役割MCP では
リソースオーナーユーザー
クライアントMCP クライアント(Claude Code など)
認可サーバートークンを発行するサーバー
リソースサーバーMCP サーバー

ゴールは、MCP サーバーを呼ぶためのアクセストークンを得ること。

1. [DCR]  クライアントを登録            → client_id
2. [PKCE] ブラウザで認可ページを開く(code_challenge 付き)
3.        ユーザーがログインして「許可」
4.        redirect_uri に転送される     → 認可コード
5. [PKCE] 認可コード + code_verifier    → access_token, refresh_token
6.        MCP サーバーを呼ぶ(Authorization: Bearer <access_token>)
7. [更新] 期限切れなら refresh_token   → 新しい access_token

1〜5 と 7 の相手は認可サーバー。MCP サーバーとやり取りするのは 6 だけ。