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

OAuth 更新トークンプロセスについて

Web サーバ OAuth 認証フローとユーザエージェントフローはどちらも、新しいアクセストークンの取得に使用可能な更新トークンを提供します。

アクセストークンは、Salesforce のセッションタイムアウトで指定された有効期間に制限されています。アプリケーションが有効期限の切れたアクセストークンを使用すると、「Session expired or invalid」エラーが返されます。アプリケーションが Web サーバまたはユーザエージェント OAuth 認証フローを使用している場合、認証中に更新トークンが提供され、新しいアクセストークンの取得に使用できる可能性があります。

クライアントアプリケーションが新しいアクセストークンを取得するには、次の要求パラメータを指定して POST 要求をトークン要求エンドポイントに送信します。
パラメータ 説明
grant_type 値は refresh_token である必要があります。
refresh_token クライアントアプリケーションがすでに受け取っ���いる更新トークン。
client_id 接続アプリケーション定義の [コンシューマ鍵]
client_secret 接続アプリケーション定義の [コンシューマの秘密][Web サーバフローの秘密が必要] 設定が接続アプリケーション定義で有効になっていない場合を除き、必須です。このパラメータは省略可能です。
format 期待される戻り形式。デフォルトは、json です。値は次のとおりです。
  • urlencoded
  • json
  • xml
返される形式は、要求のヘッダーに次のいずれかを使用して指定することもできます。
  • Accept: application/x-www-form-urlencoded
  • Accept: application/json
  • Accept: application/xml
このパラメータは省略可能です。
更新トークン POST 要求の例は、次のようになります。
1POST /services/oauth2/token HTTP/1.1
2Host: https://login.salesforce.com/ 
3grant_type=refresh_token&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0
4QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=1955279925675241571
5&refresh_token=your token here
Salesforce は、更新トークン要求を検証した後、次のレスポンスボディパラメータを使用してアプリケーションに応答を送信します。
パラメータ 説明
access_token アプリケーションが要求を行うために使用するセッション ID として機能するアクセストークン。このトークンは、ユーザログイン情報と同様に保護する必要があります。
instance_url API コールの送信先となる Salesforce インスタンスを示します。
id ユーザ、およびユーザの詳細に関するクエリの両方を識別するために使用できる ID URL。エンドユーザに関する詳細な情報を取得するための HTTP 要求で使用できます。
issued_at 署名が作成された日時。UNIX エポック (1970 年 1 月 1 日 00:00:00 UTC) からの秒数として表されます。
signature 連結 ID と issued_at 値を含む client_secret (非公開鍵) で署名されている Base64 符号化された HMAC-SHA256 署名。この signature は、ID URL がサーバから送信された後に変更されていないことを確認するために使用できます。
JSON レスポンスボディの例は、次のようになります。
1{ "id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
2"issued_at":"1278448384422","instance_url":"https://yourInstance.salesforce.com/",
3"signature":"SSSbLO/gBhmmyNUvN18ODBDFYHzakxOMgqYtu+hDPsc=",
4"access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNBaT1cyWk7T
5rqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4"}
更新トークン OAuth プロセスを使用するときの考慮事項は、次のとおりです。
  • アクセストークンのセッションタイムアウトを Salesforce で設定するには、[設定] から [クイック検索] ボックスに「セッションの設定」と入力し、[セッションの設定] を選択します。
  • アプリケーションがユーザ名パスワード OAuth 認証フローを使用する場合、このフローではユーザはアプリケーションを認証できないため、更新トークンは発行されません。アクセストークンの有効期限が切れた場合、ユーザ名パスワード OAuth フローを使用するアプリケーションはユーザを再認証する必要があります。