OAuth 2.0 で保護された API へのアクセス
OAuth 2.0 は、ユーザーが第三者アプリケーションに対して、ユーザーの代わりにサービスへアクセスする権限を付与できる認可フレームワークです。これにより、認証情報を繰り返し入力する必要がなくなり、セキュリティと柔軟性を確保できます。このガイドでは、Google アカウントでのサインインを実践的な例として、Apidog を使用して OAuth 2.0 API をデバッグする方法を示します。OAuth 2.0 フローの理解#
一般的な OAuth 2.0 のシナリオでは、次の要素があります。Client: お使いの Web サイトまたはアプリケーション
Authorization Server: 認証を提供するサービス(例: Google)
Resource Server: 保護されたリソースをホストするサービス
前提条件#
OAuth 2.0 API をテストする前に、以下を用意してください。認可サーバーに登録済みの OAuth クライアント(例: Google API Console Project)
クライアント ID とクライアントシークレットの認証情報
Google API Console Project をまだ登録していない場合は、公式ドキュメントを参照して新しい OAuth クライアントを作成してください。 OAuth 2.0 認可フロー#
ステップ 1: ユーザー認可をリクエストする#
ユーザーが「Sign in with Google」ボタンをクリックすると、Web サイトはユーザーの Google アカウントへアクセスする許可を取得するために、Google の OAuth 2.0 認可サーバーへリクエストを送信します。認可リクエストは、以下のパラメータとともに https://accounts.google.com/o/oauth2/v2/auth/ へ送信されます。| パラメータ | 必須 | 説明 |
|---|
client_id | 必須 | API Console Credentials ページで取得した、アプリケーションのクライアント ID |
redirect_uri | 必須 | 認可後に API サーバーがユーザーをリダイレクトする先です。OAuth 2.0 クライアント設定内の承認済みリダイレクト URI のいずれかと完全に一致している必要があります |
response_type | 必須 | Web サーバーアプリケーションが認可コードを受け取るには code に設定します |
scope | 必須 | アプリケーションがユーザーに代わってアクセスできるリソースを識別する、スペース区切りのスコープ一覧 |
access_type | 推奨 | online(デフォルト)または offline。ユーザーが不在のときにアプリケーションがアクセストークンを更新する必要がある場合は、offline を使用します |
state | 推奨 | 認可リクエストと認可サーバーのレスポンスの間で状態を維持するための任意の文字列値 |
この表は、Google OAuth 2.0 で必要となる基本的なパラメータを示しています。ユーザー体験とセキュリティをカスタマイズするために、他にも多くの任意パラメータを利用できます。詳細については、公式ドキュメントを参照してください。 ステップ 2: ユーザーが認可を付与する#
Google は、指定されたリソースへのアクセス許可を求める同意画面を表示します。ユーザーが承認する: Google は認可トークンを Web サーバーへ送信します
ユーザーが拒否する: Google はエラーメッセージを Web サーバーへ送信します
ステップ 3: 認可コードをアクセストークンと交換する#
ユーザーが許可を付与すると、レスポンスに認可コードが含まれます。レスポンスはクエリ文字列に表示されます。# Error response
http://example.com/#error=access_denied&state=state_parameter_passthrough_value
# Success response
http://example.com/#state=state_parameter_passthrough_value&access_token=***&token_type=Bearer&expires_in=***&scope=email%20https://www.googleapis.com/auth/userinfo.email%20openid&authuser=0&prompt=consent
他の Google API サービスで使用するために、URL からアクセストークンを抽出します。ステップ 4: 保護されたリソースへアクセスする#
Openidconnect API を例にすると、アクセストークンを含むリクエストを送信することで、ユーザーの Google アカウント情報へアクセスできます。1.
Apidog プロジェクトで新しいリクエストを作成します
2.
URL として https://openidconnect.googleapis.com/v1/userinfo?access_token=ACCESS_TOKEN を使用します
3.
ACCESS_TOKEN を実際のトークンに置き換えます
ステップ 5: ユーザー情報を受信する#
Google はアクセストークンの有効性を検証し、関連付けられた承認済みクライアントを判定します。有効なトークン: Google はユーザー情報を返します
無効または期限切れのトークン: Google はエラーメッセージを返します
API レスポンスは 、picture や email など、ユーザーの Google アカウント情報を含む JSON オブジェクトです。Web サイトはこのデータを使用して、手動入力なしでユーザーのプロフィールを自動的に表示できます。OAuth 2.0 テストに Apidog を使用するメリット#
Apidog を使用して OAuth 2.0 API をデバッグすると、以下が可能になります。上流および下流プロセスで必要となるパラメータを明確に可視化できます
視覚的なパラメータ管理により、開発体験を最適化できます
Apidog で完全なワークフローが正常に実行できるようになれば、バックエンド開発者は開発中に検証する必要なく、自信を持ってビジネスプロセスを完成させるコードを記述できます。参考資料#
📄 Web ページのソースコード例
Modified at 2026-06-11 07:06:02