Salesforce Connect カスタムアダプターの 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 認証プロバイダーの設定」を参照してください。