JDBC Driver for Salesforce

Build 20.0.7655

カスタムOAuth アプリの作成

ユーザー名やパスワードへのアクセスを保有していない場合や、それらを使いたくない場合にはOAuth 認証が使用できます。Salesforce はOAuth 認証標準を使用しています。これには認証ユーザーがブラウザ経由でSalesforce と通信する必要があります。このセクションで説明するとおり、本製品 はさまざまな方法でOAuth 交換をサポートします。

接続アプリケーションの作成

OAuth クライアントクレデンシャル、コンシューマーキーおよびコンシューマーシークレットを取得するには:

  1. Salesforce.com にログインします。
  2. [設定]で[クイック検索]ボックスにApps を入力し、リンクをクリックしてアプリを作成します。表示されたページの[接続アプリケーション]セクションで、[新規]をクリックします。
  3. ユーザーがアプリケーションにログイン認証をする際に表示されるアプリケーション名を入力します。連絡先E メールアドレスも入力します。
  4. [OAuth 設定の有効化]をクリックし、コールバックURL ボックスに値を入力します。デスクトップアプリケーションを作成する場合は、コールバックURL を http://localhost:33333 か任意の別のポート番号に設定してください。Web アプリケーションを作成する場合は、コールバックURL をユーザーがアプリケーションを認可した後に表示したいWeb アプリケーションのページに設定してください。
  5. アプリがユーザーに要求するアクセス許可の範囲を選択します。
  6. アプリケーション名をクリックしてアプリケーションの情報ページを開きます。OAuth クライアントクレデンシャル、コンシューマーキーおよびコンシューマーシークレットが表示されます。

デスクトップアプリケーションからSalesforce へ認証

次の接続プロパティを設定して、接続してください。

  • OAuthClientId:アプリケーション設定のコンシューマーキーに設定。
  • OAuthClientSecret:アプリケーション設定のコンシューマーシークレットに設定。
  • CallbackURL:アプリケーション設定のコールバックURL に設定。
  • InitiateOAuthGETANDREFRESH に設定。InitiateOAuth を使って、OAuth 交換や、手動でのOAuthAccessToken 接続プロパティの設定の繰り返しを避けられます。

接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 が以下のOAuth プロセスを完了します。

  1. コールバックURL でアクセストークンおよびOAuthServerUrl を設定し、認証リクエストを行います。
  2. OAuthSettingsLocation にOAuth 値を保存し、接続の間に維持されるようにします。
  3. 返されたリフレッシュトークンと有効なアクセストークンとを交換します。

Web アプリケーションからSalesforce へ認証

次の接続プロパティを設定し、アクセストークンを取得します。

  • OAuthClientId:アプリケーション設定のコンシューマーキーに設定。
  • OAuthClientSecret:アプリケーション設定のコンシューマーシークレットに設定。
  • CallbackURL:アプリケーション設定のコールバックURL に設定。

Web アプリケーションから接続する場合、または本製品 にブラウザウィンドウを開く権限がない場合は、temporary verification value とアクセストークンを交換する必要があります。

  1. GetOAuthAuthorizationUrl を呼び出します。ストアドプロシージャがOAuth エンドポイントのURL を返します。
  2. ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。GrantType パラメータをImplicit に設定した場合、クエリ string パラメータにおいて、コールバックURL はOAuthAccessToken およびOAuthServerUrl を保持します。GrantType パラメータを"code に設定した場合、クエリ string パラメータ "code" において、コールバックURL はverifier code を保持します。verifier code を取り出し、GetOAuthAccessToken を呼び出します。

次の接続プロパティを設定し、データに接続します。

  • OAuthAccessToken
  • OAuthServerUrl

アクセストークンの期限が切れたときに自動でリフレッシュするには、InitiateOAuthREFRESH に設定しOAuthRefreshToken を設定してください。あるいは、アクセストークンの期限が切れたときにRefreshOAuthAccessToken ストアドプロシージャを呼び出します。リフレッシュトークンが入力されると、プロシージャは有効なOAuth アクセストークンを返します。

認可URL を取得してSalesforce にログインさせる代わりに、GrantType をPASSWORD に設定してGetOAuthAccessToken を呼び出すことで、パスワードグラント種別を設定できます。ここでは、アプリケーションのクライアントID とクライアントシークレットに加えて、接続文字列にユーザー名とパスワード両方が設定されていることを確認する必要があります。パスワードグラント種別を機能させるには、InitiateOAuth をOFF に設定する必要があります。 この方法で取得したトークンをリフレッシュすることはできません。この方法には、Web ブラウザを開くことができないユーザーのログイン手順を省くメリットはありますが、サーバーとSalesforce 間でプレーンテキストでユーザー資格情報が交換されるというデメリットがあります。

Note:Salesforce でセッションタイムアウトを設定することができます。[設定]->[管理]->[セキュリティのコントロール]->[セッション設定]へと進んでください。

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7655