OAuth 2.0フロー可視化ツール
OAuth 2.0の認可フローをステップバイステップのインタラクティブ図解で可視化。認可コード、PKCE、クライアントクレデンシャルなどを探索できます。
このツールについて
OAuth 2.0フロー可視化ツールは、主要なOAuth 2.0認可フローすべてのインタラクティブなシーケンス図を描画する無料のブラウザベースツールです。Webアプリケーション、モバイルアプリ、CLIツール、サーバー間連携の認証を実装する際に、HTTPリクエスト、リダイレクト、トークン交換の正確なシーケンスを理解することは、正しく安全な実装に不可欠です。
フロータイプを選択すると、関係するすべてのアクター(クライアント、認可サーバー、リソースサーバー、エンドユーザー)を示す色分けされたシーケンス図が即座に描画されます。図の各ステップをクリックすると、HTTPメソッド、エンドポイント、必要なパラメータ、ヘッダー、完全なリクエスト/レスポンス例が展開表示されます。青い矢印はリクエスト、緑の破線矢印はレスポンスを表し、データフローを一目で追跡できます。
RFC 6749とその拡張で定義されているすべての標準グラントタイプをカバーしています:認可コード(最も広く使用されるサーバーサイドフロー)、認可コード + PKCE(SPAやモバイルアプリなどのパブリッククライアント向け推奨フロー、OAuth 2.1のデフォルト)、クライアントクレデンシャル(マシン間通信用)、デバイスコード(RFC 8628、スマートTVやCLIツールなどの入力制限デバイス用)、そして非推奨となったインプリシットとリソースオーナーパスワードフロー(新しいアプリケーションで使用すべきでない理由の警告付きで教育目的で含まれています)。これらのフローで発行されるJWTを扱う場合は、JWTデコーダーでトークンヘッダーとペイロードを検査できます。各ステップで説明されている実際のHTTPリクエストをテストするには、cURL→コード変換で実行可能なコードスニペットを素早く生成できます。レスポンスヘッダーの分析にはHTTPヘッダーアナライザーもご利用いただけます。
組み込みのPKCEジェネレーターにより、暗号学的に安全なcode_verifierとそのSHA-256 code_challengeをブラウザ内で直接生成できます。パラメータリファレンスパネルでは、client_id、redirect_uri、scope、state、code_verifierなど、すべてのOAuth 2.0パラメータを説明しています。
すべての処理はブラウザ内で完全に実行され、データがサーバーに送信されることはないため、実際のクライアント資格情報や設定を安全に確認できます。
使い方
- 上部のドロップダウンからOAuth 2.0フローを選択します(例:認可コード、PKCE、クライアントクレデンシャル)。
- フローの説明とセキュリティノートを確認し、選択したフローをいつ、なぜ使用するかを理解します。
- シーケンス図を確認します。青い矢印はリクエスト、緑の破線矢印はレスポンスです。各アクター(クライアント、認可サーバー、リソースサーバー、ユーザー)は色分けされたヘッダーでラベル付けされています。
- 図の任意のステップをクリックして詳細を展開:HTTPメソッド、エンドポイント、パラメータ、ヘッダー、リクエスト/レスポンス例。
- Copyボタン(またはCtrl+Shift+C)で選択したステップのリクエスト/レスポンス例をクリップボードにコピーします。
- Parametersをクリックしてリファレンスパネルを切り替え、すべてのOAuth 2.0パラメータの説明を確認します。
- PKCEフローでは、Generate PKCEをクリックしてデモ用のcode_verifierとcode_challengeペアを生成します。実装で使用するために値をコピーできます。
人気のOAuth 2.0フロー例
よくある質問
OAuth 2.0とは何ですか?
OAuth 2.0は、サードパーティアプリケーションがユーザーの資格情報を公開することなく、ユーザーに代わってWebサービスへの限定的なアクセスを取得できるようにする認可フレームワーク(RFC 6749)です。Webアプリ、モバイルアプリ、CLI、マシン間通信など、さまざまなシナリオ向けの複数の「グラントタイプ」(フロー)を定義しています。
どのOAuth 2.0フローを使用すべきですか?
バックエンドサーバーを持つWebアプリケーションには認可コードフローを使用します。SPA(シングルページアプリ)やモバイルアプリには認可コード + PKCEを使用します。ユーザーが関与しないサーバー間(M2M)通信にはクライアントクレデンシャルを使用します。スマートTVやCLIなどの入力が制限されたデバイスにはデバイスコードを使用します。インプリシットフローとリソースオーナーパスワードフローはOAuth 2.1で非推奨なので避けてください。
PKCEとは何ですか?なぜ重要ですか?
PKCE(Proof Key for Code Exchange、RFC 7636)は、認可コードの傍受攻撃を防ぐ認可コードフローの拡張です。クライアントはランダムなcode_verifierを生成し、SHA-256でcode_challengeを導出して認可リクエストでチャレンジを送信します。トークン交換時に元の検証子が証明として送信されます。PKCEは現在、パブリッククライアントだけでなく、すべてのOAuth 2.0クライアントに推奨されています。
インプリシットフローとリソースオーナーパスワードフローはなぜ非推奨ですか?
インプリシットフローはアクセストークンをURLフラグメントに直接公開するため、ブラウザ履歴、リファラーヘッダー、オープンリダイレクターを介した傍受に脆弱です。リソースオーナーパスワードフローはクライアントがユーザー資格情報を直接処理する必要があり、OAuthの核心的なセキュリティ上の利点である委任認可をバイパスします。OAuth 2.1では両方のグラントタイプが完全に削除されます。代わりに認可コード + PKCEを使用してください。
実際のクライアント資格情報でこのツールを使用できますか?
はい。すべての処理はブラウザ内で完全に実行されます。データがサーバーに送信されることはありません。このツールは実際のOAuthリクエストを行いません — リファレンス図と例のみを表示します。ただし、完全に信頼できるWebツール以外には実際のclient_secret値を貼り付けないでください。
データは安全ですか?
はい。すべての可視化とPKCE生成は、JavaScriptとWeb Crypto APIを使用してブラウザ内で完全に実行されます。データがサーバーに送信されることはありません。ツール使用中にブラウザの開発者ツールのネットワークタブで確認できます。
このツールは実際にOAuthリクエストを行いますか?
いいえ。OAuth 2.0フロー可視化ツールは純粋に教育目的です。リファレンス図、HTTPリクエスト例、パラメータドキュメントを表示します。認可サーバーやAPIとは通信しません。PKCEジェネレーターは、デモンストレーションとテスト目的で、暗号学的に安全な値をブラウザ内でローカルに生成します。
関連ツール
JWTデコーダー
JSON Web Tokenをデコードし、ヘッダー、ペイロード、署名を検証します。
HTTPヘッダー分析
任意のURLのHTTPレスポンスヘッダーを取得・分析。セキュリティヘッダー、キャッシュ、CORSなどを確認。
curl → コード変換
curlコマンドをPython、JavaScript fetch、PHP、Goなどのプログラミング言語に変換します。
HTTPステータスコード
すべてのHTTPステータスコードを詳細な説明付きで検索・閲覧できます。
CSPヘッダージェネレーター
Content Security Policyヘッダーをビジュアルに構築します。ディレクティブプリセットとリアルタイムポリシー出力付き。
HTTPメソッドリファレンス
GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONSなどの詳細仕様を網羅したインタラクティブなHTTPメソッドリファレンス。