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

ステップ 2: 認証を設定する

OAuth 2.0 を使用して、またはセッション ID を渡すことによって、認証を設定できます。

他のユーザのパスワードを処理している場合は、セッション ID は使用しないでください。

重要

認証用の OAuth コンシューマ ID の取得を希望するパートナー様は Salesforce まで連絡してください。

OAuth 2.0 の設定

OAuth 2.0 の設定には、Salesforce 内と他の場所でのいくつかのステップを実行する必要があります。ステップに不明な点がある場合は、認証についてまたは Salesforce オンラインヘルプを参照してください。次の例では、Web サーバ OAuth フローを使用します。

  1. まだ新しい接続アプリケーションを作成していない場合は、Salesforce で、[設定] から [作成] | [アプリケーション] をクリックし、[接続アプリケーション][新規] をクリックして作成します。ここで指定する [コールバック URL] は、Web アプリケーションのコールバック URL と同じです。Java を使用する場合、通常はこれはサーブレットです。コールバック URL はセキュアである必要があります。http:// は機能せず、https:// のみが機能します。開発環境では、コールバック URL は https://localhost:8443/RestTest/oauth/_callback のような形になります。[保存] をクリックすると、[コンシューマ鍵] が作成されて表示され、[コンシューマの秘密] が作成されます (リンクをクリックして表示します)。

    OAuth 2.0 仕様では、「consumer (コンシューマ)」ではなく「client (クライアント)」という表現が使われます。Salesforce は OAuth 2.0 をサポートします。

    メモ

    Salesforce のリモートアクセスアプリケーションで使用される用語と、この手順の残りの部分にあるサンプルコードに含まれる値は次のように対応します。
    • client_id[コンシューマ鍵] に対応
    • client_secret[コンシューマの秘密] に対応
    • redirect_uri[コールバック URL] に対応

    クライアントアプリケーションでは、ユーザを適切な Salesforce 認証エンドポイントにリダイレクトします。ユーザのログインが成功すると、Salesforce は認証コードでリダイレクト URI をコールします。次のステップでは、認証コードを使用してアクセストークンを取得します。

  2. Java またはその他のクライアントアプリケーションから、適切な Salesforce トークン要求エンドポイントに要求を行い、grant_typeclient_idclient_secret、および redirect_uri を渡します。redirect_uri は、Salesforce がコールバック送信する先の URI です。

    client_id (または consumer key) の値と client_secret (または consumer secret) が有効な場合、Salesforce はコールバックを、access_token. の値が含まれる redirect_uri に指定された URI に送信します。

  3. アクセストークンの値を Cookie として保存し、以降のすべての要求で使用します。次に例を示します。

    これで、認証は完了です。

  4. 認証されると、各要求は、ヘッダーに access_token 値を渡す必要があります。要求パラメータとして渡すことはできません。
REST 要求にアクセストークンを提供する構文は、次のとおりです。
次に例を示します。

セッション ID の認証

他のユーザのパスワードを処理していない場合は、OAuth 2.0 アクセストークンの代わりにセッション ID を使用できます。
  1. セッション ID を取得します。たとえば、SOAP API login() コールは、セッション ID を返します。また、たとえば Apex の���在のコンテキストの一部として、セッション ID を持つこともできます。開発中にテスト目的のためだけにセッション ID が必要な場合、cURL コマンドで次のようにユーザ名パスワード OAuth フローを使用できます。
    クライアント ID、クライアントの秘密、ユーザ名、およびユーザセキュリティトークンを付加したパスワードが必要です。
  2. リソースに要求を送信するときに、セッション ID を使用します。ID を token 値と置き換えます。構文は同じです。

    次に例を示します。