API インテグレーション用の OAuth 設定の有効化
接続アプリケーションを使用して、外部アプリケーションの代わりに Salesforce データへのアクセスを要求できます。接続アプリケーションがアクセスを要求するためには、OAuth 2.0 プロトコルを使用して Salesforce API に統合されている必要があります。OAuth 2.0 は、トークンの交換を通してアプリケーション間の認証、承認、安全なデータの共有を可能にするオープンプロトコルです。開発者または独立系ソフトウェアベンダー (ISV) がアプリケーションを Salesforce に統合する場合は、OAuth API を使用します。これらの OAuth API によって、ユーザがあるアプリケーションで作業しながら、別のアプリケーションのデータを参照できるようになります。
| 使用可能なインターフェース: Salesforce Classic (使用できない組織もあります) および Lightning Experience の両方 |
| 接続アプリケーションを作成可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition 接続アプリケーションをインストール可能なエディション: すべてのエディション |
| 必要なユーザ権限 | |
|---|---|
| 接続アプリケーションを参照、作成、更新または削除する | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
| プロファイル、権限セット、およびサービスプロバイダの SAML 属性以外のすべての項目を更新する | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
| プロファイル、権限セット、およびサービスプロバイダの SAML 属性を更新する | 「アプリケーションのカスタマイズ」および「すべてのデータの編集」および「プロファイルと権限セットの管理」 |
| 接続アプリケーションをインストールおよびアンインストールする | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
| パッケージ化された接続アプリケーションをインストールおよびアンインストールする | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか および「AppExchange パッケージのダウンロード」 |
- 接続アプリケーションを作成し、その基本情報を完了します。
- ページの API ([OAuth 設定の有効化]) 領域で、[OAuth 設定の有効化] を選択します。
-
TV、アプライアンス、またはコマンドラインアプリケーションなど、入力機能や表示機能が制限されたデバイスの外部アプリケーションで接続アプリケーションを設定する場合、[デバイスフローで有効化] を選択します。
コールバック URL はデバイスの認証フローでは使用されません。ただし、このフローが有効化されている場合、コールバック URL の値はデフォルトでプレースホルダになります。これと同じクライアントが別のフローで使用されている場合などに、必要に応じてコールバック URL を指定できます。
-
Salesforce が OAuth 時にアプリケーションにコールバックするコールバック URL (エンドポイント) を入力します。これは OAuth リダイレクト URI と同じです。
通常、この URL は、認証が成功した後にユーザのブラウザがリダイレクトされる URL であり、使用する OAuth フローによって決まります。この URL は一部の OAuth フローでアクセストークンを渡すために使用されるため、URL でセキュア HTTPS またはカスタム URI スキームを使用する必要があります。複数のコールバック URL を入力すると、実行時に Salesforce は、アプリケーションで指定されたコールバック URL の値を [コールバック URL] のいずれかの値と照合します。検証テストに通過するには、いずれか 1 つの値と一致する必要があります。複数のコールバック URL は、改行で区切ります。コールバック URL 項目には、累積で 2000 行までという制限があります。複数の URL があってこの制限を超えた場合は、追加のコールバック URL を管理できるように、別の接続アプリケーションを作成します。
- JWT OAuth フローを使用している場合は、[デジタル署名を使用] ���選択します。アプリケーションで証明書を使用する場合は、[ファイルを選択] をクリックして、JWT OAuth フローでアップロードするための、システムにある証明書を選択します。
-
接続アプリケーションに適用する OAuth 範囲を選択します。OAuth 範囲では接続アプリケーションの権限が定義されます。これは、アプリケーションの認証後にトークンとして付与されます。OAuth トークン名は括弧で囲みます。
値 説明 Chatter フィードへのアクセスと管理 (chatter_api) Chatter REST API リソースへのアクセスのみを許可します。 データへのアクセスと管理 (api) REST API や Bulk API などの API を使用して、現在のログインユーザのアカウントへのアクセスを許可します。この値には、Chatter REST API リソースへのアクセスを許可する chatter_api も含まれます。 基本情報へのアクセス (id、profile、email、address、phone) ID URL サービスへのアクセスを許可します。profile、email、address、phone を要求すれば、id を使用した場合と同じ結果を個別に得られます。これらの結果はすべて一致します。 カスタム権限へのアクセス (custom_permissions) 接続アプリケーションに関連付けられている組織のカスタム権限へのアクセスを許可し、現在のユーザで各権限が有効かどうかを示します。 一意の識別子へのアクセスを許可 (openid) OpenID Connect アプリケーションの現在のログインユーザの一意の識別子へのアクセスを許可します。 OAuth 2.0 ユーザエージェントフローと OAuth 2.0 Web サーバ認証フローでは、openid 範囲を使用します。この範囲を使用すると、アクセストークンの他にも、「OpenID Connect の仕様」に適合する署名付き ID トークンを受信できます。
フルアクセス (full) ログインユーザがアクセスできるすべてのデータへのアクセスを許可し、その他すべての範囲が対象となります。full は更新トークンを返しません。更新トークンを取得するには、refresh_token の範囲を明示的に要求する必要があります。 ユーザに代わっていつでも要求を実行 (refresh_token、offline_access) アプリケーションが更新トークンを受信できる場合、更新トークンが返されることを許可します。ユーザがオフラインのときに、アプリケーションはこの範囲を使用してユーザのデータを操作できます。refresh_token 範囲は、offline_access と同じです。 カスタムアプリケーションへのアクセスの提供 (visualforce) 顧客が作成した Visualforce ページへのアクセスを許可します。標準の Salesforce UI へのアクセスは許可しないでください。 Web 経由のデータへのアクセスを提供 (web) Web で access_token を使用することを許可します。visualforce が含まれているため、顧客が作成した Visualforce ページへのアクセスが許可されます。 -
アクセストークンと交換するアプリケーションのクライアントの秘密を要求するには、[Web サーバフローの秘密が必要] を選択します。
-
組織全体のすべてのアクセストークンと更新トークンを 1 つの接続アプリケーショが調査できるようにするには、[すべてのトークンを調査] を選択します。
デフォルトでは、すべての接続アプリケーションが自身のトークンを調査できます。また、動的クライアント登録エンドポイントを介して OAuth 2.0 接続アプリケーションを直接登録している OAuth クライアントは、自身とその登録済みアプリケーションのトークンを確認できます。「OpenID Connect トークンイントロスペクションエンドポイント」を参照してください。
-
OAuth 要求で ID トークンを処理する方法を制御するには、[ID トークンを設定] を選択します。
OAuth 要求�� [一意の識別子へのアクセスを許可 (openid)] 範囲が含まれる場合、返されるトークンに ID トークンが含まれる可能性があります。
- ID トークンはアクセストークン応答に常に含まれます。
- プライマリ ID トークン設定を有効にした状態で、アクセストークン応答と更新トークン応答の両方で ID トークンコンテンツを制御するセカンダリ設定を構成します。次の設定を指定します。
設定 説明 トークンの有効期間 ID トークンの発行後、ID トークンが有効な期間。指定できる期間は 1 ~ 720 分です。デフォルトは 2 分です。 ID トークンの利用者 ID トークンの対象コンシューマ。たとえば、ID トークンを使用する対象サービス (https://your_service.com など) です。 標準要求を含める ユーザの名前、プロファイル、電話番号、住所など、ユーザに関する情報を含む標準要求を含めます。「OpenID Connect の仕様」では、ID トークンで返される、一連の標準要求が定義されます。 カスタム属性を含める アプリケーションでカスタム属性を指定した場合は、そのカスタム属性を ID トークンに含めます。 カスタム権限を含める アプリケーションでカスタム権限を指定した場合は、そのカスタム権限を ID トークンに含めます。
-
接続デバイスのアセットトークンを発行するようにアプリケーションを設定する場合、[アセットトークンを有効化] を選択します。
- 次の設定を指定します。
設定 説明 トークンの有効期間 アセットトークンの発行後、アセットトークンが有効な期間。 アセット署名証明書 アセットトークンを署名するためにすでに作成している自己署名証明書。 アセット利用者 アセットトークンの対象コンシューマ。例: 接続デバイスのバックエンドサービス (https://your_device_backend.com など)。 カスタム属性を含める アプリケーションでカスタム属性を指定した場合は、そのカスタム属性をアセットトークンに含めます。 カスタム権限を含める アプリケーションでカスタム権限を指定した場合は、そのカスタム権限をアセットトークンに含めます。 - コールバック URL (エンドポイント) を必ず指定します。たとえば、https://your_device_backend.com/callback です。
- アセットトークンで必要とされる OAuth 範囲を選択します。
- データへのアクセスと管理 (api)
- 一意の識別子へのアクセスを許可 (openid)
- 次の設定を指定します。
- ユーザが Salesforce からログアウトしたときにユーザを接続アプリケーションサービスプロバイダから自動的にログアウトするには、[シングルログアウトを有効化] を選択します。
-
[シングルログアウトを有効化] を選択した場合は、シングルログアウト URL を入力します。ユーザが Salesforce からログアウトすると、Salesforce はログアウト要求をこの URL に送信します。シングルログアウト URL は、https:// で始まる絶対 URL にする必要があります。
Spring '12 リリースより前に、組織でリモートアクセスに対して [この組織のユーザにはユーザ承認は必要ありません] オプションを選択していた場合、その組織のユーザは、アプリケーションに対して承認されます。承認を示すには、このオプションを選択します。接続アプリケーションの場合、アプリケーションを作成した後、システム管理者がアプリケーションをインストールし、アプリケーションの [ポリシーを編集] ページで [許可されているユーザ] を [管理者が承認したユーザは事前承認済み] に設定することをお勧めします。リモートアクセスオプションが最初に選択されていなかった場合、このオプションは表示されません。
- 接続アプリケーションのすべての設定が完了したら、[保存] をクリックします。