PhpStorm 2026.1 Help

OAuth 2.0 認証

HTTP クライアントは OAuth 2.0 認証をサポートします。 アクセストークンを取得し、OAuth 2.0 で保護されたリソースへのリクエストを認証できます。 ユーザー認証情報を入力できるようにするために、HTTP クライアントは組み込みの JCEF ブラウザーにログインフォームを表示します。 この非モーダルブラウザーでは、IDE での作業が妨げられることはなく、たとえば、ユーザー名とパスワードをコピーして貼り付けることができます。

一般的なフローには次のステップが含まれます:

  1. 認証設定を指定する (認可タイプやトークン URL など) (パブリック環境ファイル内の JSON 形式)。

  2. HTTP リクエストで $auth.token 変数を使用して この認証構成を参照します

  3. リクエストを実行します。 認証が成功すると、保護されたリソースにアクセスできます。 受信したアクセストークンとリフレッシュトークンは、 HTTP クライアント認証ログ または サービス ツールウィンドウで確認できます。

  4. アクセストークンを手動でリフレッシュしたり、 新しいトークンを要求して認証手順を再初期化したりすることもできます。

認証構成の作成

  1. .http ファイルの 実行 リストで、認証構成を追加する環境を選択します。

  2. ツールバーで「追加アイコン 」をクリックし、「認証構成 」を選択します。

    これにより、選択した環境の "セキュリティ" にある "Auth" オブジェクト内のパブリック環境ファイルに認証構成テンプレートが追加されます。 例:

    { "dev": { "Security": { "Auth": { "auth-id": { "Type": "OAuth2", "Grant Type": "", "Client ID": "" } } } } }
  3. プレースホルダー auth-id を、 .http ファイル内でこの構成を参照するために使用する意味のある名前に置き換えます。

  4. 認証パラメーターを指定します。 必要なパラメーターは選択した "Grant Type" によって異なります。 認証パラメーターを入力する際、PhpStorm コーディング支援を使用可能です。パラメーターの名前を入力し始めるか、 Ctrl+Space を押すと、利用可能な JSON 鍵の一覧が表示されます。

HTTP リクエストで認証構成を使用する

認証構成が作成されたら、それを使ってアクセストークンを取得し、リクエストの認証ができます。

  1. 認証構成の名前を {{$auth.token()}} 変数に渡します (例: {{$auth.token("my-config")}})。 この変数は、リクエスト Authorization ヘッダーまたはクエリパラメーターで使用できます。

  2. 実行 」をクリックしてリクエストを送信します。 保護されたリソースにアクセスする前に、HTTP クライアントは認可サーバーにリクエストを送信してアクセストークンを取得します。

  3. プロンプトが表示されたら、認証プロセスを完了します。 認証が正常に完了すると、HTTP クライアントは保護されたリソースにアクセスします。

{{$auth.token()}} 変数をすばやく追加するには、ライブテンプレートを使用します:HTTP メソッドのヘッダーセクションで AuthorizationToken と入力し、表示される候補のリストから利用可能な認証を選択します。

HTTP Client auth configuration

このようなリクエストを実行すると、 サービス ツールウィンドウで 認証ログの表示 ボタンが使用できるようになります。 リダイレクトページ、アクセストークン、その他の認証の詳細を表示できます。

アクセストークンを手動で取得する

HTTP リクエストで認証構成を参照すると、HTTP クライアントは、保護されたリソースにアクセスする前にアクセストークンを自動的に取得 (またはリフレッシュ) します。 保護されたリソースに実際のリクエストを送信せずにアクセストークンを取得したい場合は、アクセストークンを手動で取得できます。

  1. http-client.env.json ファイルで、認証構成名の横にある 実行 をクリックします。

  2. 認証構成に プライベート変数が含まれている場合は、表示されるポップアップでプライベート環境ファイルを選択します。

  3. プロンプトが表示されたら、認証プロセスを完了します。

認証が正常に完了した場合、PhpStorm がアクセストークンを取得します。 アクセストークンをすでに持っているが有効期限が切れている場合は、PhpStorm がリフレッシュします。

新しいアクセストークンを取得する

トークンをリフレッシュする以外にも再認証、つまり最初のアクセストークン取得に使用した元のフローを繰り返すことで新しいトークンを取得できます。

  1. http-client.env.json ファイルで、認証構成名にキャレットを置きます。

  2. Alt+Enter (コンテキストアクションの表示) を押して、 認証トークンの強制取得 を選択します。

  3. 認証構成に プライベート変数が含まれている場合は、表示されるポップアップでプライベート環境ファイルを選択します。

キャレットが .http ファイル内の $auth.token 変数上にある場合、同じアクションを呼び出すことができます。 この場合、HTTP クライアントは .http ファイルと同じフォルダーにある環境ファイルを使用するため、プライベート環境ファイルを選択する必要はありません。

新しいトークンをリフレッシュまたは取得すると、アクセスおよびリフレッシュトークンとその他の認証の詳細が HTTP クライアント認証ログ ツールウィンドウ (表示 | Tool Windows | HTTP クライアント認証ログ) に表示されます。

HTTP クライアント認証ログツールウィンドウ

ブラウザーの Cookie をクリア

認可サーバーは、ブラウザーの Cookie に認証データを保存する場合があります。 異なるデータを使用して認証フローをテストする場合は、組み込みの JCEF ブラウザーの Cookie をクリアする必要がある場合があります。

  1. http-client.env.json ファイルで、認証構成名にキャレットを置き、 Alt+Enter (コンテキストアクションの表示) を押します。

  2. ブラウザーの Cookie をクリア を選択します。

または、 HTTP クライアント認証ログ ツールウィンドウで Cookie をクリアする をクリックして Cookie をクリアすることもできます。

アクセストークンの代わりに ID トークンを使用する

サーバーでアクセストークンの代わりに ID トークンの使用が必要な場合は、次のいずれかの方法で HTTP クライアントを構成できます:

  • 認証構成では、 "Use ID Token": true パラメーターを使用します。

  • .http ファイルでは、 $auth.idToken 変数 (例: Authorization: Bearer {{$auth.idToken("auth-id-1")}}) を使用します。

カスタム認証パラメーターを使用する

HTTP クライアントには、認可サーバーが必要とするカスタムリクエストパラメーターを定義するオプションが用意されています。 これには、たとえば、OAuth 2.0 認可フレームワークを拡張する resourceaudience が含まれます。

  1. 認証構成に、 "Custom Request Parameters" オブジェクトを追加します。

  2. "Custom Request Parameters" 内に、パラメーター名と値 (文字列または配列) を入力します。

  3. パラメーターの使用を特定のリクエストに制限したい場合は、値を 2 つのキーを持つオブジェクトとして定義します:

    • "値" (パラメーター値)

    • "Use" — パラメーターの使用スコープ。 次の 3 つの値のいずれかになります。

      • "Use": "Everywhere" (いかなるリクエストでも)

      • "Use": "In Auth Request" (認証リクエストのみ)

      • "Use": "In Token Request" (トークンリクエストのみ)

    例:

    "auth-id-1": { "Type": "OAuth2", "Custom Request Parameters": { "audience": { "Value": "https://my-audience.com/", "Use": "In Token Request" }, "resource": [ "https://my-resource/resourceId1", "https://my-resource/resourceId2" ], "my-custom-parameter": "my-custom-value" }, }

HTTP クライアント認証ログ ツールウィンドウを使用して、リクエストで使用されるパラメーターとその値を表示します。

カスタムリクエストヘッダーを使用する

HTTP クライアントには、認可サーバーで必要となる可能性のあるカスタム要求ヘッダーを使用するオプションが用意されています。

  1. 認証構成に、 "Custom Request Headers" オブジェクトを追加します。

  2. "Custom Request Headers" 内に、ヘッダー名とその値を入力します。

    Ctrl+Space を押すと、 受諾CookieUser-Agent などの一般的なヘッダーの候補リストが表示されます。

  3. ヘッダーの使用を特定のリクエストに制限する場合は、値を 2 つのキーを持つオブジェクトとして定義します。

    • "値" (ヘッダー値)

    • "Use" — ヘッダーの使用スコープ。 次の 3 つの値のいずれかになります。

      • "Use": "Everywhere" (いかなるリクエストでも)

      • "Use": "In Auth Request" (認証リクエストのみ)

      • "Use": "In Token Request" (トークンリクエストのみ)

    例:

    "auth-id-1": { "Type": "OAuth2", "Custom Request Headers": { "Accept": { "Use": "Everywhere", "Value": "application/javascript" }, "my-custom-header": "my-custom-value" }, }

認証構成パラメーター

タイプ

認証タイプ。 可能な値:

  • "OAuth2": OAuth2 を使用してリクエストを認証します。

  • "Mock" (開発またはテスト環境の場合):認証処理をエミュレートします。OAuth2 サーバーから提供されるアクセストークンの代わりに、PhpStorm は認証構成からトークンを使用します。 アクセストークンとして使用する "トークン" と、必要に応じて ID トークンとして "ID Token" を指定します。 例:

    "my-auth-id": { "Type": "Mock", "Token": "my-token" }
グラントタイプ

アクセストークンを取得するメソッドです。 利用可能な値: "Authorization Code""Client Credentials""Device Authorization""暗黙的" 、および "パスワード"

認証 URL

アプリケーションが認証コードを取得するためにクライアントリクエストをリダイレクトする認証 URL。 認可コードと暗黙グラントタイプでは "Auth URL" が必須です。

トークン URL

プロバイダーの認証サーバーで、認証コードをアクセストークンと交換します。 認可コード、クライアント資格情報、デバイス認証、パスワードグラントタイプでは "Token URL" が必須です。

リダイレクト URL

クライアントアプリケーション コールバック URL で、認証後にリクエストがリダイレクトされます。 これはクライアントアプリケーション設定の URL か、認可サーバーが任意の URL を受け付ける場合、例えば http://localhost:12345/foo/bar など任意の URL を使用できます。

クライアント ID

API プロバイダーに登録されたクライアントの公開識別子です。 このパラメーターはすべての グラントタイプで必須です。

クライアントシークレット

クライアントアプリケーションが認可サーバーで認証するために使用する機密識別子です。 このパラメーターはクライアント資格情報 グラントタイプに必須です。

クライアント資格情報

次のいずれかを入力します:

  • リクエストでクライアント資格情報を指定したくない場合は、 "none"

  • リクエスト本文でクライアント資格情報を送信する場合は、 "in body"

  • "basic" は、要求ヘッダーで基本認証要求を送信します (デフォルト値)。

デバイス認証 URL

クライアントデバイスがデバイスコードとユーザーコードを取得するためにリクエストを送信する URL です。

デバイス認証グラントタイプに適用され、必須です。

完全な URI を開く

true に設定すると、ブラウザーはユーザーコード(verification_uri_complete )を含む検証 URI を開きます。 デフォルト値は false です。ブラウザーは(ユーザーコードが埋め込まれていない)検証 URI を開き、ユーザーは通常手動でコードを入力します。

デバイス認証グラントタイプに適用できます。

ブラウザー後にポーリング開始

true に設定すると、ブラウザーが閉じられた後にのみクライアントデバイスはトークンエンドポイントへアクセストークンリクエスト(ポーリング)を送信します。 デフォルト値は false です。ユーザーの操作が完了するかコードが期限切れになるまで、デバイスは継続的にトークンエンドポイントをポーリングします。

デバイス認証グラントタイプに適用できます。

PKCE

コード交換のための証明キー (PKCE)(英語) を有効にします。 認可コード付与タイプに適用可能です。

デフォルトのアルゴリズム (自動生成されたコード検証の SHA-256 ハッシュ) を使用するには、 "PKCE": true と入力します。 または、 "Code Challenge Method" (プレーンまたは SHA-256) と "Code Verifier" を使用して動作をカスタマイズします。 例:

"PKCE": { "Code Challenge Method": "Plain", "Code Verifier": "YYLzIBzrXpVaH5KRx86itubKLXHNGnJBPAogEwkhveM" },
スコープ

アプリケーションがユーザーアカウントへアクセスできる範囲を制限するスコープです。 利用可能な値はアクセスしようとするサービスによって異なります。

自動取得

デフォルトでは、HTTP クライアントはリクエストを送信する前にアクセストークンを自動的にリフレッシュまたは取得します。 リクエストを送信する前にアクセストークンを自動的にリフレッシュまたは取得したくない場合は、「"Acquire Automatically": false 」と入力します。 手動でリフレッシュまたは取得できます。

ユーザー名

パスワードグラントタイプで利用される、認可の一部として送信されるユーザー名です。

パスワード

パスワードグラントタイプで、認可の一部として送信されるユーザーのパスワードです。 パスワードを共有しないために、値の代わりに例えば "Password": "{{password}}" のような プライベート変数を使用できます。

カスタムリクエストパラメーター

カスタムリクエストパラメーターを指定する

カスタムリクエストヘッダー

カスタムリクエストヘッダーを指定する

2026 年 5 月 22 日