OAuth JWTフローを使ってSalesforceに接続する方法 - 7.3

Salesforce

EnrichVersion
Cloud
7.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > ビジネスアプリケーション > Salesforce
データガバナンス > サードパーティーシステム > ビジネスアプリケーション > Salesforce
データクオリティとプレパレーション > サードパーティーシステム > ビジネスアプリケーション > Salesforce

この記事では、OAuth 2.0 JWT (JSON Web Token)認証フローを使ってSalesforceに接続する方法を示します。

Talendは、Salesforceコンポーネントまたはメタデータウィザードを介してSalesforceにアクセスするための2つの接続タイプを提供しています。

  • [Basic] (基本): Salesforceアカウントのユーザー名、パスワード、およびセキュリティトークン情報を使ってSalesforceに接続します。関連するユースケースは、外部IDに基づいてSalesforceデータをアップサートするを参照してください。

  • [OAuth Json Web Token Flow] (OAuth Json Webトークンフロー): OAuth 2.0 JWT認証フローを使ってSalesforceに接続します。OAuth 2.0 JWTフローの詳細は、Salesforceの公式ドキュメンテーションDigging Deeper into OAuth 2.0 in Salesforceを参照してください。

始める前に

Salesforceコンポーネントまたはメタデータウィザードを介してOAuth 2.0 JWTフローを使ってSalesforceに接続する前に、次の手順でSalesforceのJWTフローが必要とする独自の接続アプリケーションを作成する必要があります。

  1. [Security Controls] (セキュリティ制御) > [Certificate and Key Management] (証明書とキー管理)に移動し、 [Create Self-Signed Certificate] (自己署名証明書の作成)をクリックして自己署名証明書を作成し、ローカルマシンに証明書をダウンロードします。この例では、デモ用に証明書talend_certificateが作成され、D:\talend_certificate.crtにダウンロードされました。自己署名証明書の作成方法は、Salesforceの公式ドキュメンテーション自己署名証明書の生成を参照してください。

  2. [Export to Keystore] (キーストアにエクスポート)をクリックして、証明書をJKS (Javaキーストア)形式のキーストアファイルにエクスポートします。この例では、証明書はD:\00D28000001O6WS.jksにエクスポートされます。
  3. [Create] (作成) > [Apps] (アプリ)に移動し、[Connected Apps] (接続済みアプリ)エリアの[New] (新規)をクリックして、OAuth設定を有効にし、ダウンロードしたデジタル証明書D:\talend_certificate.crtを使う接続済みアプリを作成します。JWT認証フローのコンシューマーキーが生成されます。この例では、接続アプリケーションtalend_appがデモ用に作成済みです。接続済みアプリの作成方法は、Salesforceの公式ドキュメンテーションCreate a Connected Appを参照してください。
  4. 接続済みアプリを作成した後、使う前にコンシューマーを承認します。これを行うには、承認URLhttps://login.salesforce.com/services/oauth2/authorizeをコピーして貼り付けます。次のクエリー文字列パラメーターをWebブラウザーのアドレスバーに入力し、[Enter]キーを押してアクセス承認を受け入れます。
    • client_id: 値はコンシューマーキーです。
    • redirect_uri: 値はhttps://login.salesforce.com/services/oauth2/successです。
    • response_type: 値はcodeです。

    承認URLとクエリー文字列パラメーターは疑問符(?)で連結され、2つのクエリー文字列パラメーターごとにアンパサンド(&)で連結されます。URLの例を以下に示します。読みやすくするために改行しています。URLをコピーしてWebブラウザーのアドレスバーに貼り付ける前に、これらすべての行を1行に結合する必要があります。

    https://login.salesforce.com/services/oauth2/authorize?
    client_id=3MVG9ZL0ppGP5UrCLU3Fzejy8RgQbnFad6mMbHtzjB3kb7OJqkfyVJ8TyiXtK_dPkwnUY3SsaEUHwEEu3bN3l&
    redirect_uri=https://login.salesforce.com/services/oauth2/success&
    response_type=code

これで、Salesforceコンポーネントまたはメタデータウィザードを介して、OAuth 2.0 JWT認証フローを使ってSalesforceに接続できます。次の例では、OAuth 2.0 JWTフローを使うSalesforceへの接続を、Salesforceメタデータウィザードを使ってテストします。

手順

  1. [Repository] (リポジトリー)ツリービューで、[Metadata] (メタデータ)ノードの下のSalesforceをクリックし、コンテキストメニューから[Salesforce Connection] (Salesforce接続)を選択します。
  2. [Name] (名前)フィールドに、作成するSalesforce接続の名前を入力します。この例ではsalesforce_oauth_jwtです。
  3. [Connection type] (接続タイプ)ドロップダウンリストからOAuthを選択し、表示された[Oauth2 flow type] (Oauth2フロータイプ)ドロップダウンリストからJson Web Token Flowを選択します。
  4. [Issuer] (発行者)フィールドにOAuthコンシューマーキーを入力します。このキーはSalesforceの接続済みアプリの詳細ページにあり、二重引用符に囲まれています。
  5. [Subject] (件名)フィールドにSalesforceのユーザー名を二重引用符で囲んで入力します。
  6. [Expiration time (in seconds)] (有効期限(秒))フィールドに、アサーションの有効期限を秒単位で入力します。この例では600です。
  7. [Key store] (キーストア)フィールドで、証明書をエクスポートしたキーストアファイルへのパスを指定します。この例ではD:/00D28000001O6WS.jksです。
  8. [Key store password] (キーストアのパスワード)フィールドに、証明書をキーストアファイルにエクスポートする時に定義したキーストアのパスワードを入力します。
  9. [Certificate alias] (証明書の別名)フィールドに、証明書の一意な名前を入力します。この例ではtalend_certificate です。
  10. [Test connection] (接続のテスト)をクリックすると、Salesforceへの接続が正しく作成されたことを示すポップアップダイアログボックスが表示されます。