この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

OAuth と API アクセス用のプロキシサインアップの作成

SignupRequest オブジェクトを使用して、システムが生成するメールをユーザーに送信することなく、組織をプログラム的に作成できます。

必要なユーザー権限
サインアップ要求を作成または表示する サインアップ要求 API

その後、その組織にログインするための OAuth アクセストークンを取得し、その組織から API 要求を行えるようになります。ユーザーの操作は必要ありません。このプロキシサインアップでは、Salesforce を使用していることをユーザーに知らせず、ユーザーの代理として組織の作成や操作ができるためです。

従来のサインアッププロセスでは、組織を作成すると、ユーザーには、ログイン URL と初期パスワードが記載された、システム生成メールが送信されます。ユーザーは、その後ログインし、ユーザーの代わりに組織に対するコールを実行してもらうための API アクセス権を明示的に付与する必要があります。プロキシサインアップを使用すると、そうした従来の手順なしで API アクセス権を取得できます。

代理として組織を作成および管理できるため、他のプラットフォームにある外部アプリケーションと Salesforce を統合するための選択肢が広がります。これにより、Salesforce ユーザーインターフェース (UI) を公開することなく、自分のアプリケーションに Lightning プラットフォームの任意の機能を取り込むことができます。すべての Salesforce 機能を UI から切り離せるほか、他のアプリケーションのランタイムや UI に、シームレスで目に見えない形で統合することができます。

たとえば、.NET プラットフォームに構築された、企業が旅費の報告および社員への払い戻しを管理するのに役立つ Web アプリケーションが ISV にあるとします。ISV は、アプリケーションに Chatter を統合して、企業のすべての従業員が、フィードバックや旅費についてのヒントを共有できるようにしようとしています。ISV は、適切な Salesforce API を使用して、次のソリューションを実装できます。ゼロから開発するのではなく、顧客に Chatter 機能へのアクセス権を付与できるようになります。ISV の顧客は、既存のアプリケーションの拡張として、特別に意識することなく Chatter を体験し、慣れ親しんだインターフェースを使用できます。Salesforce のことを知る必要も、ログインする必要もありません。このアプローチは、標準オブジェクトやカスタムオブジェクト、Apex、Visualforce など、Salesforce の他の機能にも拡張できます。プロキシサインアップによって ISV では Salesforce をサービスとして使用することが可能になり、Salesforce UI を公開することなく、その機能を任意のプラットフォームのアプリケーションに統合できるようになります。ISV の構想力次第で、どのようなアプリケーションでも作り出すことができます。

  • プロキシサインアップを使用して、各顧客に 1 つずつ Salesforce 組織を作成します。
  • その会社のすべての従業員のために、各顧客組織のユーザーを作成します。
  • 旅行情報を共有する Chatter グループを設定して管理します。
  • 各ユーザーの Chatter フィードを監視し、各投稿から情報を抽出します。
  • アプリケーションにこの情報を挿入し、既存の UI に表示します。
  1. プロキシサインアップを作成するには、Developer Edition 組織 (デフォルトで、接続アプリケーションのユーザー権限が有効になっている) にログインします。
  2. Lightning Experience では、[設定] から、[クイック検索] ボックスに「アプリケーションマネージャー」と入力し、[新規接続アプリケーション] をクリックします。(組織で Salesforce Classic を使用している場合は、[設定] から、[クイック検索] ボックスに「アプリケーション」と入力します。[ビルド] で [アプリケーション] を選択します。[接続アプリケーション] で、[新規] をクリックします。)
  3. 必須項目に値を入力します。X.509 証明書を指定し、[選択した OAuth 範囲] セレクターで OAuth 範囲へのフルアクセスと更新トークンアクセスを許可します。コールバック URL は必須ですが、最初は未使用なので、任意の有効な URL を設定できます。終了したら、[保存] をクリックします。
  4. 同じページの [コンシューマー鍵] の値を記録します。また、[クリックして公開] をクリックして、[コンシューマーの秘密] の値を記録します。
  5. 接続アプリケーションを新しいパッケージのコンポーネントとして追加し、パッケージ化します。そのパッケージのインストール URL の値を記録します。
  6. Trialforce 管理組織にログインし、そこから Trialforce ソース組織を作成します。
  7. Trialforce ソース組織にログインし、インストール URL を使用して接続アプリケーションを含むパッケージをインストールします。
  8. 接続アプリケーションを Trialforce ソース組織にインストールすると、[設定] から、[クイック検索] ボックスに「アプリケーションを管理する」と入力して [管理アプリケーション] を選択することで、その接続アプリケーションをカスタマイズできます。接続アプリケーションを表示して、属性を編集することができます。適切なプロファイルと権限セットを指定します。OAuth ポリシーセクションで [管理者が承認したユーザーは事前承認済み] オプションをオンにします。これにより、これらの条件にあてはまるユーザーの代理として組織への認証を行うことができます。
  9. 要件に合わせて Trialforce ソース組織を設定し終えたら、そこから Trialforce テンプレートを作成します。Trialforce テンプレートを作成するときに、[すべてのデータおよび設定] のラジオボタンを選択します。
  10. パートナーコミュニティにケースを申請し、そのテンプレートを使用してサインアップを作成するための承認を取得します。
  11. テンプレートが承認されたら、SignupRequest オブジェクトを使用して新しい組織をサインアップできます。組織に接続するために必要な OAuth 値 (コンシューマーキーおよびコールバック URL) を指定します。
    1POST https://mycompany-tmo.salesforce.com/services/data/v27.0/sobjects/SignupRequest/
    2Authorization Bearer 
    3  00Dxx0000001gR6!ARoAQAS3Uc6brlY8q8TWrrI_u1THuUGmSAp
    4    XrksSniyjom9kXfDac4UP.m9FApjTw9ukJfKqWuD8pA9meeLaltRmNFvPqUn7
    5Content-Type application/json Body:
    6{    "TemplateId":"0TT000000000001",
    7     "SignupEmail":"john.smith@mycompany.com",
    8     "Username":"gm@trial1212.org",
    9     "Country":"US"
    10     "Company":"salesforce.com",
    11     "LastName":"Smith",
    12     "ConnectedAppConsumerKey":
    13      "3MVG9AOp4kbriZOLfSVjG2Pxa3cJ_nOkwhxL1J1AuV22u8bm82FtDtWFVV__
    14         Vs6mvqoVbAnwsChp9YT4bfrYu",
    15     "ConnectedAppCallbackUrl":
    16       "https%3A%2F%2Fwww.mysite.com%2Fcode_callback.jsp" }

ConnectedAppConsumerKey 項目および ConnectedAppCallbackUrl 項目が SignupRequest オブジェクトで指定されている場合、プロキシサインアップフローでは、この組織で既存の接続アプリケーションを使用することが自動的に承認されます。そのフローでは、サインアップ関連のメールがユーザーに送信されることはありません。システム管理者のユーザー名、コンシューマーキー、およびコンシューマーの秘密を知っていれば、次の操作を行うために必要な情報はすべて揃っています。

  • 組織の管理ユーザーとして、その組織に API 要求を行う。
  • 今後任意の時点で、更新されたアクセストークンを要求する。