Collaboration ServerでSalesforceにOAuth接続する方法

このノートでは、exploratory.ioを通してSalesforceに接続するのと同様のやりかたで、Collaboration Serverを通して、Salesforceに接続するための設定について説明します。

この設定によって以下のことができるようになります。

  • Collaboration Serverに接続されているExploratory DesktopからSalesforceのデータを読み込む。
  • Collaboration Server上で、Salesforceのデータの読み込みをスケジュールする。

前提条件

SalesforceにExploratory Collaboration Serverを通して接続するための前提条件は以下のとおりです。

  • Collaboration Serverのマシンにはホスト名が割り当ててある。
  • Collaboration ServerはSSL(HTTPS)を使用している。
  • Colllaboration Serverのバージョンは6.6.2以上。
  • Exploratory Desktopのバージョンは6.6.2以上。

設定のステップ

この設定は、以下の3つのステップがあります。

  1. SSLの設定(もしすでに設定されていない場合)
  2. Collaboration ServerのSalesforceへの登録
  3. Collaboration Serverの設定

以下で各ステップについて説明します。

SSLの設定

すでにCollaboration ServerにSSL(HTTPS)が設定されていない場合は、こちらのNoteに従って、SSLの設定を行います。

Collaboration ServerのSalesforceへの登録

Collaboration Serverを、SalesforceにApp(アプリケーション)として登録します。exploratory.ioがSalesforceのAppとしてSalesforceのサービスに接続するように、Collaboration Serverも一つの独立したSalesforceのAppとしてSalesforceに接続するため、この登録、設定が必要となります。

Salesforceの管理画面を開く

設定のクイック検索から「アプリケーションマネージャ」と入力してアプリケーションマネージャを開きます。

Lightning Experience アプリケーションマネージャが開くので右上の「新規接続アプリケーション」ボタンをクリックします。

基本情報

新規接続アプリケーションの基本情報に以下の項目を設定します。

  • 接続アプリケーション名:任意の名称
  • API参照名:任意の名称(デフォルトでは接続アプリケーション名と同じ)
  • 取引先責任者 メール:任意のEメールアドレス

API (OAuth 設定の有効化)

OAuth設定の有効化

チェックボックスをチェックします。

コールバックURL

https://<Collaboration Server Host>/oauthcallback

Collaboration Server Hostの部分を実際のホスト名に変えて設定します。

選択したOAuth範囲:許容する範囲を指定

以下を選択します。

  • データへのアクセスと管理 (api)
  • ユーザに変わっていつでも要求を実行、基本情報へのアクセス (refresh_token, offline_access)

Web サーバーフローの秘密が必要

チェックボックスにチェックします。

更新トークンフローの秘密が必要

チェックボックスにチェックします。

情報を入力後、保存ボタンをクリックします。

次へをクリックします。

すると以下の画面で登録内容を確認できます。

このあとの設定で必要となる、以下の2つの情報が表示されていますので、これらの文字列を控えておきます。

  • コンシューマー鍵
  • コンシューマーの秘密

IP 制限の緩和 (オプショナル)

もしIPアドレスでのアクセス制限を緩和したい場合は、ポリシーの編集をクリックします。

IP 制限の緩和の値リストから「IP 制限の緩和」を選びます。

Collaboration Serverの設定

Exploratory Collaboration Serverの圧縮ファイルを展開してできた、“exploratory” というディレクトリの直下にあるdocker-compose.ymlファイルのexploratoryコンテナのenvironmentの項目リストに、以下の3項目を追加します。

  • EXPL_SALESFORCE_OAUTH_CLIENT_ID - 先程取得したコンシューマー鍵
  • EXPL_SALESFORCE_OAUTH_SECRET - 先程取得したコンシューマーの秘密
  • EXPL_OAUTH_CALLBACK_HOST - このCollaboration Serverで使用するホスト名

設定例:

 exploratory:
    environment:
      EXPL_ADMIN_EMAIL: sample@yourcompany.com
      EXPL_ADMIN_FIRSTNAME: Admin
      EXPL_ADMIN_LASTNAME: User
            ... その他の設定...
      EXPL_SALESFORCE_OAUTH_CLIENT_ID:  987654321 
      EXPL_SALESFORCE_OAUTH_SECRET: bbbbbbbbb
      EXPL_OAUTH_CALLBACK_HOST: yourcompany.com

以上の設定のあと、Collaboration Serverを再起動すると、OAuthを通してのSalesforceへのアクセスが可能となります。