この文章は 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 値と置き換えます。構文は同じです。

    次に例を示します。