接続アプリケーションの作成
| 使用可能なエディション: Salesforce Classic および Lightning Experience の両方 |
| 接続アプリケーションを作成可能なエディション: Group Edition、Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition 接続アプリケーションをインストール可能なエディション: すべてのエディション |
| 必要なユーザ権限 | |
|---|---|
| 参照する | 「アプリケーションのカスタマイズ」 |
| 作成、更新または削除する | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
| プロファイル、権限セット、およびサービスプロバイダの SAML 属性以外のすべての項目を更新する | 「アプリケーションのカスタマイズ」 |
| プロファイル、権限セット、およびサービスプロバイダの SAML 属性を更新する | 「アプリケーションのカスタマイズ」および「すべてのデータの編集」 |
| アンインストールする | 「AppExchange パッケージのダウンロード」 |
- Salesforce Classic では、[設定] から、[クイック検索] ボックスに「アプリケーション」と入力し、[アプリケーション] を選択します。[接続アプリケーション] で、[新規] をクリックします。
- Lightning Experience では、アプリケーションマネージャを使用して接続アプリケーションを作成します。[設定] から、[クイック検索] ボックスに「アプリケーション」と入力し、[アプリケーションマネージャ] を選択します。(1) [新規接続アプリケーション] をクリックします。(2)
接続アプリケーションは、認証、キャンバス、モバイル設定などを指定しなくても作成できます。この種の接続アプリケーションは、ユーザのアプリケーションランチャーおよびドロップダウンアプリケーションメニューに表示される、指定された URL への「ブックマーク」のように動作します。基本情報を入力し、[Web アプリケーション設定] に [開始 URL] を入力します。リンク先で認証が必要な場合は、リンク先 URL をホストするサービスに移動したときにログイン情報を入力するように求められます。
- コンシューマ鍵: コンシューマが Salesforce に自身の身分を証明するために使用する値。OAuth 2.0 では client_id と呼ばれます。
- コンシューマの秘密: コンシューマがコンシューマキーの所有権を確立するために使用する秘密。OAuth 2.0 では client_secret として参照されます。
基本情報
- 接続アプリケーション名を入力します。この名前はアプリケーションマネージャに表示されるほか、そのアプリケーションランチャーのタイルに表示されます。
- プログラムからアプリケーションを参照するときに使用する API 参照名を入力します。API 参照名は、デフォルトの空白を除いた名前になります。使用できるのは、文字、数字、アンダースコアのみであるため、元のアプリケーション名に他の記号などが含まれている場合は、デフォルトの名前を編集します。
- Salesforce がアプリケーション提供者またはそのサポートチームへの連絡時に使用する連絡先メールを入力します。このアドレスは、アプリケーションをインストールする Salesforce システム管理者には提供されません。
- Salesforce から連絡する必要がある場合に使用する連絡先電話番号を入力します。この番号は、アプリケーションをインストールする Salesforce システム管理者には提供されません。
- アプリケーションランチャーのタイルにロゴを表示するために使用するロゴ画像の URL を入力します。これは、認証時にユーザに表示される同意ページにも表示されます。URL には HTTPS を使用する必要があります。GIF、JPG、または PNG ファイル形式を使用してください。ファイルサイズについては 20 KB 未満をお勧めします (上限 100 KB)。画像サイズは 128 x 128 ピクセルに変更されます。適切に表示されることを確認してください。ロゴを指定しない場合は、Salesforce でアプリケーションのイニシャルを使用してロゴを自動的に生成します。
- [ロゴ画像をアップロード] をクリックして、独自のロゴ画像をアップロードできます。ローカルファイルシステムからロゴのサイズ要件を満たす画像を選択します。アップロードが成功すると、ロゴへの URL が [ロゴ画像 URL] 項目に表示されます。表示されない場合は、ロゴのサイズ要件を満たしていることを確認します。
- [いずれかのサンプルロゴを選択] をクリックして、Salesforce のサンプルからロゴを選択することもできます。Salesforce アプリケーション、サードパーティアプリケーション、標準化団体のロゴなどが含まれます。目的のロゴをクリックし、URL をコピーして [ロゴ画像 URL] 項目に貼り付けます。
- [ドキュメント] タブを使用して画像をドキュメントとしてアップロードすることで、Salesforce サーバで公開されてホストされるロゴを使用できます。画像を表示して URL を取得し、その URL を [ロゴ画像 URL] 項目に入力します。
- ユーザがアプリケーションを初めて使用するときに表示される OAuth 承認ページにロゴを表示するには、アイコンの URL を入力します。サイズが 16×16 ピクセル (高さ×幅) で背景色が白のアイコンを使用します。
Salesforce が提供しているサンプルからアイコンを選択できます。[いずれかのサンプルロゴを選択] をクリックします。目的のアイコンをクリックし、表示される URL をコピーして [アイコン URL] 項目に貼り付けます。
- アプリケーションについての詳細が記載された Web ページがある場合、情報 URL を入力します。
- 接続アプリケーションのアプリケーションランチャーのタイルに表示する説明を入力します (最大 256 文字)。説明を入力しない場合、タイルには名前のみが表示されます。
API (OAuth 設定の有効化)
- Salesforce が OAuth 時にアプリケーションにコールバックするコールバック URL (エンドポイント) を入力します。これは OAuth リダイレクト URI です。通常、この URL は、認証が成功した後にユーザのブラウザがリダイレクトされる URL であり、使用する OAuth フローによって決まります。この URL は一部の OAuth フローでアクセストークンを渡すために使用されるため、URL でセキュア HTTPS またはカスタム URI スキームを使用する必要があります。複数のコールバック URL を入力すると、実行時に Salesforce は、アプリケーションで指定されたコールバック URL の値を [コールバック URL] のいずれかの値と照合します。検証テストに通過するには、いずれか 1 つの値と一致する必要があります。
- 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 サービスへのアクセスを許可します。
- カスタム権限へのアクセス (custom_permissions)
- 接続アプリケーションに関連付けられた組織内のカスタム権限へのアクセスを許可します。これは、現在のユーザの各権限が有効になっているかどうかを示します。
- 一意の識別子へのアクセスを許可 (openid)
- ログインユーザの OpenID Connect アプリケーションの一意の識別子へのアクセスを許可します。
- フルアクセス (full)
- ログインユーザのデータへのアクセスを許可し、その他すべての範囲が対象となるようにします。full は更新トークンを返しません。更新トークンを取得するには、refresh_token の範囲を明示的に要求する必要があります。
- ユーザに代わっていつでも要求を実行 (refresh_token、offline_access)
- 更新トークンを受け取る資格がアプリケーションにある場合に、更新トークンを返すことを許可します。ユーザがオフラインのときに、アプリケーションはこの範囲を使用してユーザのデータを操作できます。refresh_token 範囲は、offline_access と同じです。
- カスタムアプリケーションへのアクセスの提供 (visualforce)
- Visualforce ページへのアクセスを許可します。
- Web 経由のデータへのアクセスを提供 (web)
- Web で access_token を使用することを許可します。これには visualforce が含まれているため、Visualforce ページへのアクセスが許可されます。
- TV、アプライアンス、またはコマンドラインアプリケーションなど、入力機能や表示機能が制限されたデバイスのアプリケーションで OAuth を設定する場合、[デバイスフローで有効化] を選択します。
- クライアントアプリケーションに対して OAuth を設定する場合、そのクライアントアプリケーションがクライアントの秘密を保持できず、かつユーザエージェントフローを使用できないために Web サーバフローを使用する必要があるときは、[Web サーバフローの秘密が必要] を選択解除します。アプリケーション用にクライアントの秘密は依然として生成されますが、この設定でアクセストークン要求内の client_secret パラメータが不要であることを Web サーバフローに指示します。アプリケーションでユーザエージェントフローを使用できる場合は、秘密を使用しない Web サーバフローよりもセキュアなオプションとしてユーザエージェントをお勧めします。
- OAuth 要求で ID トークンを処理する方法を制御します。OAuth 要求に openid 範囲が含まれる場合、返されるトークンに ID トークンが含まれる可能性があります。
- 更新トークン応答に ID トークンを含めるには、[ID トークンを含める] を選択します。ID トークンはアクセストークン応答に常に含まれます。
- プライマリ ID トークン設定を有効にした状態で、アクセストークン応答と更新トークン応答の両方で ID トークンコンテンツを制御するセカンダリ設定を構成します。少なくとも 1 つの設定を選択します。
- 標準要求を含める
- ユーザの名前、プロファイル、電話番号、住所など、ユーザに関する情報を含む標準要求を含めます。「OpenID Connect の仕様」では、ID トークンで返される、一連の標準要求が定義されます。
- カスタム属性を含める
- アプリケーションでカスタム属性を指定した場合は、そのカスタム属性を ID トークンに含めます。
- カスタム権限を含める
- アプリケーションでカスタム権限を指定した場合は、そのカスタム権限を ID トークンに含めます。
- 接続デバイスのアセットトークンを発行するようにアプリケーションを設定する場合、アセットトークンの設定を行います。
-
[アセットトークンを有効化] を選択します。次の項目を指定します。
- トークンの有効期間
- アセットトークンの発行後、アセットトークンが有効な期間。
- アセット署名証明書
- アセットトークンを署名するためにすでに作成している自己署名証明書。
- アセット利用者
- アセットトークンの対象コンシューマ。例: 接続デバイスのバックエンドサービス (https://your_device_backend.com など)。
- カスタム属性を含める
- アプリケーションでカスタム属性を指定した場合は、そのカスタム属性をアセットトークンに含めます。
- カスタム権限を含める
- アプリケーションでカスタム権限を指定した場合は、そのカスタム権限をアセットトークンに含めます。
- コールバック URL (エンドポイント) を指定します。たとえば、https://your_device_backend.com/callback です。
- アセットトークンで必要とされる OAuth 範囲を必ず追加します。
- データへのアクセスと管理 (api)
- 一意の識別子へのアクセスを許可 (openid)
-
[アセットトークンを有効化] を選択します。次の項目を指定します。
Spring '12 リリースより前に、組織でリモートアクセスに対して [この組織のユーザにはユーザ承認は必要ありません] オプションを選択していた場合、アプリケーションを作成した組織のユーザは、アプリケーションに対して自動的に承認されます。自動承認を示すには、このオプションを選択します。接続アプリケーションの場合、アプリケーションを作成したら、システム管理者がアプリケーションをインストールし、[許可されているユーザ] を [管理者が承認したユーザ] に設定することをお勧めします。リモートアクセスオプションが最初に選択されていなかった場合、このオプションは表示されません。
Web アプリケーション設定
アプリケーションでユーザを認証後に特定の場所に転送するには、開始 URL を入力します。開始 URL を入力しない場合、ユーザは認証完了後にアプリケーションのデフォルトのスタートページに転送されます。作成している接続アプリケーションがキャンバスアプリケーションの場合は、この項目をスキップします。[キャンバスアプリケーションの URL] 項目には、接続アプリケーションからコールされる URL が含まれます。
必要に応じて、[SAML レスポンスを暗号化] を選択して証明書をアップロードし、アサーションを暗号化するための暗号化メソッドを選択します。有効な暗号化アルゴリズム値は、AES–128 (128 ビット鍵)、AES–256 (256 ビット鍵)、および Triple-DES (トリプルデータ暗号化アルゴリズム) です。
カスタム接続アプリケーションハンドラ
Apex を使用して接続アプリケーションの動作をカスタマイズします。ConnectedAppPlugin Apex クラスを拡張するクラスを作成し、そのクラスを接続アプリケーションに関連付けます。このクラスは、新しい認証プロトコルをサポートしたり、ビジネスプロセスにメリットがある形でユーザ属性に応答することができます。
ユーザアカウントの代わりにプラグインが実行されます。[別のユーザとして実行] 項目で、プラグインのユーザを選択します。ユーザが接続アプリケーションに対して認証されていない場合は、authorize メソッドを使用して実行します。詳細は、『Apex コード開発者ガイド』の ConnectedAppPlugin クラスを参照してください。
モバイルアプリケーション設定
- モバイルデバイスからアプリケーションにアクセスするときに特定の場所にユーザを転送するには、モバイルの開始 URL を入力します。モバイルの開始 URL を入力しないと、ユーザは [Web アプリケーション設定] で定義された開始 URL に送信されます。作成している接続アプリケーションがキャンバスアプリケーションの場合、この項目をスキップできます。[キャンバスアプリケーションの URL] 項目には、接続アプリケーションからコールされる URL が含まれます。
- アプリケーションが PIN 保護をサポートする場合は [PIN 保護] を選択します。この設定を使用すると、接続アプリケーションのインストール後にシステム管理者がモバイルアプリケーションのセッションタイムアウトや PIN の文字数を設定できます。PIN 保護は、Salesforce Mobile SDK (https://developer.salesforce.com/page/Mobile_SDK) でサポートされます。PIN 保護は、ユーザの ID URL から mobile_policy オブジェクトを読み取って手動で実装することもできます。
- [アプリケーションプラットフォーム] で、ドロップダウンリストから iOS または Android を選択して指定します。
- [デバイス種別に限定] ドロップダウンリストから、モバイルアプリケーションでサポートされるデバイスのフォーム要素を指定します。指定できる値は [電話]、[タブレット]、または [ミニタブレット] です。アプリケーションがすべてのフォーム要素をサポートする場合は、どの値も選択しないでください。
- モバイルアプリケーションのアプリケーションバージョン番号を入力します。
- アプリケーションに必要な最小 OS バージョンを入力します。
- [非公開アプリケーション] を選択し、このアプリケーションが内部 (非公開) 配布のみであることを指定します。Apple は App Store 以外での公開モバイルアプリケーションの配布を許可していないため、この設定は必須です。
- モバイルアプリケーションが非公開の場合、モバイルアプリケーションバイナリファイルの場所を指定します。ファイルの形式は、iOS の場合は IPA、Android の場合は APK です。
-
iOS アプリケーションのみ:
- アプリケーションを iOS デバイスにダウンロードしてインストールしている間に表示するアプリケーションアイコンの場所を指定します。
- [iOS バンドル識別子] を指定します。
- モバイル接続アプリケーションが公開アプリケーションで Salesforce にバイナリファイルをアップロードしていない場合、アプリケーションバイナリ URL をここで入力します。
- アプリケーションが Salesforce Mobile SDK で作成されている。
- アプリケーションがそのプラットフォームでの Mobile SDK 転送通知プロトコルを実装している。
- モバイルプラットフォームプロバイダ (Apple または Google) に登録済みの開発者である。
- iOS 転送通知の場合は Apple Push Notification Service (APNS)、Android 転送通知の場合は Google Cloud Messaging (GCM) にアプリケーションが登録済みである。
- 転送通知用の Apex ハンドラを実装している。
- [プッシュメッセージングの有効化] を選択します。
- [サポートされているプッシュプラットフォーム] で [Apple] を選択します。
- APNS 転送通知証明書に対して有効な Apple 環境を選択します。
- 証明書で、アプリケーションを転送通知対象として登録したときに APNS から受信した .p12 証明書ファイルを選択します (appkey.p12 など)。
- .p12 証明書ファイルのパスワードを入力します。
- [プッシュメッセージングの有効化] を選択します。
- [サポートされているプッシュプラットフォーム] で [Android GCM] を選択します。
- [サーバアプリケーションのキー (API キー)] に、Google への開発者登録時に取得したキーを入力します。
- [プッシュメッセージングの有効化] をオフにします。
- 接続アプリケーションを保存し、[編集] をクリックします。
- [アプリケーションプラットフォーム] と関連する [モバイル設定] を、新しいプラットフォームを反映した値に変更します。
- 新しいプラットフォーム用に転送通知を再設定します。
キャンバスアプリケーション設定
- 組織の Salesforce システム管理者がインストールしたキャンバスアプリケーション。
- 組織全体のユーザがインストールしたキャンバス個人用アプリケーション。ユーザは、[Chatter] タブからキャンバス個人用アプリケーションにアクセスし、プロンプトに従ってそのアプリケーションが Salesforce データに接続できるようにします。ユーザはアプリケーションをキャンバス個人用アプリケーションにするように選択できます。詳細は、『Force.com Canvas 開発者ガイド』の「キャンバス個人用アプリケーション」を参照してください。
- 接続アプリケーションをキャンバスアプリケーションとして公開する場合は、[Force.com Canvas] を選択します。
- サードパーティアプリケーションへのキャンバスアプリケーション URL を入力します。キャンバスアプリケーションへのリンクをクリックすると、ユーザはこの URL に転送されます。
- アクセス方法を選択します。この方法により、キャンバスアプリケーションで OAuth 認証フローを開始する方法が指定されます。
- 署名付き要求 (POST) — OAuth 認証を使用しますが、Salesforce システム管理者がキャンバスアプリケーションをインストールする場合、キャンバスアプリケーションはユーザのアクセスを暗黙的に許可します。ユーザ情報へのアプリケーションのアクセスを許可するよう求めるプロンプトはユーザに表示されません。このアクセス方法を使用する場合、認証はキャンバスアプリケーションの URL に直接 post 送信されます。
キャンバスアプリケーションで署名付き要求認証を使用する場合は、[ユーザに代わっていつでも要求を実行] を [選択した OAuth 範囲] に追加しないでください。
- OAuth Webflow (GET) — OAuth 認証が使用され、ユーザはユーザ情報へのアプリケーションのアクセスを許可するように求められます。このアクセス方法を使用する場合、キャンバスアプリケーションで OAuth 認証フローが開始されるようにする必要があります。
- 署名付き要求 (POST) — OAuth 認証を使用しますが、Salesforce システム管理者がキャンバスアプリケーションをインストールする場合、キャンバスアプリケーションはユーザのアクセスを暗黙的に許可します。ユーザ情報へのアプリケーションのアクセスを許可するよう求めるプロンプトはユーザに表示されません。このアクセス方法を使用する場合、認証はキャンバスアプリケーションの URL に直接 post 送信されます。
- キャンバスアプリケーションの認証に SAML シングルサインオン (SSO) を使用している場合、[SAML の開始方法] 項目を選択します。この項目は、[Web アプリケーション設定] セクションで [SAML の有効化] を選択した場合に有効化されます。この項目では、次のいずれかのオプションを選択できます。
- ID プロバイダによる開始 — Salesforce が SSO フローを開始する最初の要求を行います。
- サービスプロバイダによる開始 — キャンバスアプリケーションは呼び出された後に SSO フローを開始します。
- [場所] で、ユーザにキャンバスアプリケーションを表示する場所を選択します。
- Chatter フィード — キャンバスアプリケーションをフィードに表示します。このオプションを選択すると、CanvasPost フィード項目を作成して現在のユーザがキャンバスアプリケーションにアクセスできるようにします。
- Chatter タブ — キャンバスアプリケーションを Chatter タブのアプリケーションナビゲーションリストに表示します。このオプションを選択すると、キャンバスアプリケーションが自動的に表示されます。
- コンソール — キャンバスアプリケーションを Salesforce コンソールのフッターまたはサイドバーに表示します。このオプションを選択した場合、キャンバスアプリケーションをカスタムコンソールコンポーネントとして追加して、コンソールのどこにキャンバスアプリケーションを表示するのかを選択する必要があります。
- レイアウトおよびモバイルカード — キャンバスアプリケーションをページレイアウトまたはモバイルカードに表示できます。このオプションを選択した場合、キャンバスアプリケーションをページレイアウトに追加して、表示する場所を選択します。
- モバイルナビゲーション — キャンバスアプリケーションを Salesforce1 のナビゲーションメニューからアクセス可能にします。
- Open CTI — キャンバスアプリケーションを通話制御ツールに表示します。このオプションを選択した場合、キャンバスアプリケーションを表示するにはコールセンターの定義ファイルにキャンバスアプリケーションを指定します。
- パブリッシャー — キャンバスアプリケーションをパブリッシャーに表示します。このオプションを選択した場合、キャンバスカスタムクイックアクションを作成して、グローバルレイアウトまたはオブジェクトレイアウトに追加します。
- Visualforce ページ — キャンバスアプリケーションを Visualforce ページに表示できます。Visualforce ページにキャンバスアプリケーションを公開するために <apex:canvasApp> コンポーネントを追加する場合は、キャンバスアプリケーションの表示場所にこの場所を必ず選択してください。これ以外の場所を選択するとエラーになります。
- [アクションの自動作成] を選択して、キャンバスアプリケーションのグローバルアクションを作成します。これを実行するには、[場所] で [パブリッシャー] を選択します。選択しないと、グローバルアクションは作成されません。アクションは後で作成することもできます。
- 独自の Canvas.CanvasLifecycleHandler Apex クラスを実装する場合、[ライフサイクルクラス] にクラス名を指定します。Canvas.CanvasLifecycleHandler Apex クラスを指定すると、コンテキスト情報をカスタマイズし、キャンバスアプリケーションにカスタム動作を追加できます。
- アプリケーションをユーザがインストールできるようにするには、[キャンバス個人用アプリケーションとして有効化] を選択します。Chatter タブは、キャンバス個人用アプリケーションをサポートしている唯一の場所です。詳細は、『Force.com Canvas 開発者ガイド』の「キャンバス個人用アプリケーション」を参照してください。