Loading
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む

OAuth2.0 Web サーバーフローを実行するための外部クライアントアプリケーション作成手順

公開日: Apr 9, 2026
説明

OAuth2.0 クライアントログイン情報フローを実行するための外部クライアントアプリケーション作成手順と、cURLコマンドを使用したトークン取得手順を解説します。なお、後述の手順は一般的な動作確認を行うための設定例です。ご利用の外部システムやアプリケーションの要件に応じて、外部クライアントアプリケーションの詳細なオプションや、リクエスト時の情報などは調整してください。

解決策

以下に設定および実行手順の例をご紹介します。

外部クライアントアプリケーションの設定例

1. [設定] から [外部クライアントアプリケーションマネージャー] へ遷移します。
2. [新規外部クライアントアプリケーション] をクリックします。
3. 以下の設定を実施して、[作成] をクリックします。

  • 外部クライアントアプリケーション名: 任意
  • API 参照名: 任意
  • 取引先責任者 メール: 任意
  • OAuth を有効化: オン
  • コールバック URL: https://login.salesforce.com/services/oauth2/callback
  • OAuth 範囲: 「API を使用してユーザーデータを管理 (api)」「いつでも要求を実行 (refresh_token, offline_access)」
  • サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求: オフ

4. 作成した外部クライアントアプリケーションの設定ページで、[設定] タブ内の "OAuth" セクションを開きます。
5. [コンシューマー鍵と秘密] をクリックします。
6. [ID を検証] のプロセスを完了させます。
7. 表示される「コンシューマー鍵 (client_id)」と「コンシューマーの秘密 (client_secret)」を控えます。

ブラウザと cURL コマンドによる実行および動作確認例

注意: cURL コマンドは URL を用いて  HTTP/HTTPS などのプロトコルでデータ送信を行うオープンソースのソフトウェアです。弊社 Salesforce 提供のツールではございません。ご利用の際には外部サイトを適宜ご参照ください。

A. 認証コードの要求

1. 以下の形式の URL でブラウザーへアクセスします。

https://{myDomain}/services/oauth2/authorize?response_type=code&client_id={client_id}&redirect_uri=https://login.salesforce.com/services/oauth2/callback

2. ユーザー認証を完了させます。
3. 遷移したページの URL の code パラメーターの値を控えます。

https://login.salesforce.com/services/oauth2/callback?code=XXXXX

注意 : code に含まれる %3D の値は = の文字が URL エンコードにより変換されています。控えた code の %3D は = に変更してください。

B. アクセストークンの要求

1. 以下の形式で cURL コマンドを実行します。

curl -X POST "{myDomain}/services/oauth2/token" -d "grant_type=authorization_code&client_id={client_id}&client_secret={client_secret}&redirect_uri=https://login.salesforce.com/services/oauth2/callback" --data-urlencode "code={code}"

2. コマンドラインで access_token や refresh_token が返却されていることを確認します。

{"access_token":"AAAAA","refresh_token":"BBBBB","signature":"CCCCC","scope":"refresh_token api","instance_url":"DDDDD","id":"EEEEE","token_type":"Bearer","issued_at":"FFFFF"}

 

C. 更新トークンフローによるアクセストークンの再取得

1. 以下の形式で cURL コマンドを実行します。

curl -X POST "{myDomain}/services/oauth2/token" -d "grant_type=refresh_token&client_id={client_id}&client_secret={client_secret}&refresh_token={refresh_token}"

2. コマンドラインで再取得した access_token が返却されることを確認します。

{"access_token":"AAAAA","signature":"BBBBB","scope":"refresh_token api","instance_url":"CCCCC","id":"DDDDD","token_type":"Bearer","issued_at":"EEEEE"}


以上の手順で OAuth2.0 Web サーバーフロー、および更新トークンフローによるアクセストークンの取得動作を確認できます。

補足: PKCE を用いた Web サーバーフローの設定

Web サーバーフローで PKCE を用いた認証を求める場合、以下の外部クライアントアプリケーションの PKCE の設定をオンにします。
その上で、Web サーバーフローによりアクセストークンを取得するには後述の順序でリクエストを行います。

サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求

 

A. PKCE パラメーターの生成

1. 以下の形式で cURL コマンドを実行します。

curl -X GET "{myDomain}/services/oauth2/pkce/generator"

2. コマンドラインで code_challenge や code_verifier が返却されていることを確認します。

{"code_challenge_method":"S256","code_challenge":"XXXXX","code_verifier":"YYYYY"}

 

B. 認証コードの要求

1. 以下の形式の URL でブラウザーへアクセスします。

https://{myDomain}/services/oauth2/authorize?response_type=code&client_id={client_id}&redirect_uri=https://login.salesforce.com/services/oauth2/callback&code_challenge={code_challenge}

2. ユーザー認証を完了させます。
3. 遷移したページの URL の code パラメーターの値を控えます。

C. アクセストークンの要求

1. 以下の形式で cURL コマンドを実行します。

curl -X POST "{myDomain}/services/oauth2/token" -d "grant_type=authorization_code&client_id={client_id}&client_secret={client_secret}&redirect_uri=https://login.salesforce.com/services/oauth2/callback&code_verifier={code_verifier}" --data-urlencode "code={code}"

2. コマンドラインで access_token や refresh_token が返却されていることを確認します。

以上の手順で PKCE を用いた Web サーバーフローの動作を確認できます。

 

注意事項

コンシューマー鍵、コンシューマーの秘密、アクセストークン、リフレッシュトークンは機密情報です。実装・運用時には外部への漏洩を防ぐため、適切なセキュリティ対策を講じて管理してください。


本記事においては、ブラウザおよび cURL コマンドにより動作確認の手順をご紹介しましたが、実際には外部システムより各要求が行われます。例に記載した方法以外にも多くのパラメーターがあることからも、API 実行元のシステムや業務上の要件に応じた設定を行う必要があります。そのため、必要に応じてシステム開発者様やアプリ提供元企業まで外部クライアントアプリケーションの設定方法をご相談ください。

ナレッジ記事番号

005318017

 
読み込み中
Salesforce Help | Article