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

Salesforce Connect カスタムアダプターの OAuth

OAuth 2.0 を使用して外部データにアクセスする場合に、アクセストークンの期限切れによるアクセスの中断を回避する方法を説明します。
外部システムの中には OAuth アクセストークンを使用するものがあります。こうしたトークンには有効期限があり、更新する必要があります。アクセストークンは必要に応じて次の場合に自動的に更新できます。
  • ユーザーまたは外部データソースに、以前の OAuth フローからの有効な更新トークンがある場合。
  • DataSource.Connection クラスの同期、クエリ、または検索メソッドで DataSource.OAuthTokenExpiredException が発生した場合。

ユーザーまたは外部データソースの適切な OAuth ログイン情報を使用して、リモートサービスとネゴシエートし、トークンを更新します。DataSource.ConnectionParams で、コンストラクターに提供される新しい OAuth トークンを使用して DataSource.Connection クラスが再作成されます。続いて、検索またはクエリが再度呼び出されます。

認証プロバイダーが更新トークンを提供しない場合、現在のアクセストークンの期限が切れたときに外部システムへのアクセスが失われます。外部データソースの詳細ページに警告メッセージが表示された場合は、オフラインアクセスまたは更新トークンの要求について OAuth プロバイダーにお問い合わせください。

認証プロバイダーの中には、範囲の追加といった簡単な方法でオフラインアクセスを要求できることがあります。たとえば、Salesforce 認証プロバイダーにオフラインアクセスを要求するには、Salesforce 組織の認証プロバイダー���義の [デフォルトの範囲] 項目に「refresh_token」を追加します。

また、オフラインアクセスを認証 URL でクエリパラメーターとして要求する必要のある場合もあります。たとえば、Google の場合、Salesforce 組織の認証プロバイダー定義の [承認エンドポイント URL] 項目に「?access_type=offline」を追加します。認証エンドポイントを編集するには、認証プロバイダーの [プロバイダータイプ] 項目で [Open ID Connect] を選択します。詳細は、Salesforce ヘルプの「OpenID Connect 認証プロバイダーの設定」を参照してください。