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

OAuth および Chatter REST API

Chatter REST API は、OAuth を使用してアプリケーションを Salesforce に接続する前にセキュアに識別します。

OAuth は、ユーザデータへのアクセスにセキュア認証を許可するオープンプロトコルです。ユーザのユーザ名およびパスワードを渡す必要はありません。OAuth は、ソフトウェアアクセスのバレットキーと呼ばれることがよくあります。バレットキーとは、自動車の特定の部分のみ開けられる鍵のことです。たとえば、トランクやダッシュボードの小物入れなどは開けられません。

OAuth を使用すると、アプリケーションにログイン情報を保存せずにすみます。アプリケーションへのユーザのログインは、標準の Salesforce ページを使用して行うことができます。この際、Salesforce ページからアプリケーションへのアクセストークンが返されます。アプリケーションは、このアクセストークンを使用して Chatter REST API Web サービスにアクセスできます。この認証方法は、モバイルアプリケーションと Web ページの両方で使用できます。

Chatter REST API は OAuth 2.0 を使用します。

接続アプリケーション

Chatter REST API を使用するには、組織に REST エントリポイントを作成する必要があります。Salesforce は、このエントリポイントを接続アプリケーション定義として定義します。

接続アプリケーション定義の作成例については、「ステップ 2: 認証を設定する」を参照してください。

接続アプリケーションの作成および使用時の考慮事項
  • 接続アプリケーション定義で使用されるラベルと OAuth 用語は次のように対応付けられます。
    接続アプリケーションのラベル OAuth 用語 説明
    コンシューマ鍵 client_id Salesforce に対してアプリケーションを識別する一意の識別子。
    コンシューマの秘密 client_secret アプリケーションに関連付けられた秘密鍵。
    コールバック URL redirect_uri クライアントアプリケーションに関連付けられた URL。場合によっては、URL は、クライアントの Web ブラウザのリダイレクト先である実際の URL にする必要があります。それ以外では、この URL は使用されませんが、クライアントアプリケーションとサーバ (接続アプリケーション定義) 間で値が一致する必要があります。http://mycomponent.myapp のように、アプリケーションを識別する値を使用することをお勧めします。
  • モバイルアプリケーションを開発している場合、次の値を [コールバック URL] (redirect_uri) に使用して、独自のアプリケーションサーバの設定を省略できます。
    1https://login.instance_name/services/oauth2/success
    Web アプリケーションの開発時は、この値を使用しないでください。
  • 接続アプリケーションがユーザの組織と同じ組織に存在していなくてもかまいません。作成する接続アプリケーションは、どの組織へのサインインにも使用できます。
  • テスト用に 1 つ、本番用に 1 つとして、複数の接続アプリケーション定義を作成することをお勧めします。1 つのみを作成する場合、アプリケーションコードの場所を反映させて [コールバック URL] の値を変更する必要があります。さらに、iOS と Android など、異なるプラットフォームを開発する場合は、複数の接続アプリケーションを作成することをお勧めします。

OAuth の基礎

  • OAuth は、クライアントアプリケーションにリソース所有者が所有するリソースへのアクセス権を付与します。OAuth では、リソースとはセキュアな状態に保つ必要があるものを指します。Chatter REST API の場合、API を介してアクセス可能なすべてのデータを保護対象として考慮します。
  • リソースへのアクセス権を付与するかどうかはリソース所有者次第です。このコンテキストでは、システム管理者 (ユーザと接続アプリケーションを管理する) とユーザ (サードパーティアプリケーションにログインしてアクセス権を付与する) を合わせたものがリソース所有者です。
  • アプリケーションがリソースにアクセスする場合、リソース所有者からの認証が要求されます。OAuth では、アプリケーションにリソースへのアクセス権を付与するさまざまな方法が提供されます。これらの方法は許可種別または��ローと呼ばれます。コンテキストに応じて適したフローは異なります。
  • クライアントアプリケーションがリソースへのアクセスを認証されると、クライアントアプリケーションにはアクセストークンと更新トークンが与えられます。認証されたクライアントアプリケーションには、ID を証明するために、後続のすべての Web サービス要求にアクセストークンを含める必要があります。アクセストークンの有効期間は限られています。アクセストークンの期限が切れると、認証されたクライアントアプリケーションは、更新トークンを使用して新しいアクセストークンを取得するための特殊な要求を行うことができます。

OAuth フロー

ユーザは、Salesforce にアクセスする前に認証を受ける必要があります。OAuth には複数の認証フローがあります。各認証フローには複数のステップがあります。これらは、OAuth 標準および Salesforce へのアクセスを試行するアプリケーションの種別によって決まります。認証が成功すると、クライアントアプリケーションにはアクセストークンと更新トークンが与えられます。

Salesforce は、Chatter REST API で使用するために次のフローをサポートしています。

さらに、アプリケーションのアクセスが認証された後に更新トークンを使用して新しいアクセストークンを取得できます。

Salesforce コミュニティでの OAuth の使用についての詳細は、Salesforce ヘルプを参照してください。

アクセス権の取り消し

ユーザにクライアントアプリケーションへのアクセス権が付与された後、そのアクセス権を取り消すには、[個人情報] ページの [接続アプリケーション] セクションで [取り消し] をクリックします。

その他のリソース

Chatter REST API は、一部のインフラストラクチャを REST API と共有します。次のチュートリアルに含まれる認証に関する情報は、Chatter REST API にも該当します。
REST API の認証部分は、Chatter REST API と共有されています。REST API をサポートする次のライブラリをお勧めします。
OAuth は広く使われている認証標準です。OAuth のクライアントライブラリを使用すると、クライアントアプリケーションの開発プロセスを円滑に進めることができます。次のクライアントプログラミングライブラリをお勧めします。