メイン コンテンツをスキップする 補完的コンテンツへスキップ

OAuth JWTフローを使って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. [Audience] (オーディエンス)フィールドに、認証サーバーとしてhttps://login.salesforce.comhttps://test.salesforce.comhttps://site.force.com/customers (Experience Cloud サイトに実装する場合)のいずれかを入力します。
    関連情報は、OAuth 2.0 JWT Bearer Flow for Server-to-Server Integrationをご覧ください。
  7. [Expiration time (in seconds)] (有効期限(秒))フィールドに、アサーションの有効期限を秒単位で入力します。この例では600です。
  8. [Key store] (キーストア)フィールドで、証明書をエクスポートしたキーストアファイルへのパスを指定します。この例ではD:/00D28000001O6WS.jksです。
  9. [Key store password] (キーストアのパスワード)フィールドに、証明書をキーストアファイルにエクスポートする時に定義したキーストアのパスワードを入力します。
  10. [Certificate alias] (証明書の別名)フィールドに、証明書の一意な名前を入力します。この例ではtalend_certificate です。
  11. オプション: 相互認証を使ってSalesforceアカウントへの接続を確立する場合は、このチェックボックスを選択します。
  12. [Test connection] (テスト接続)をクリックすると、Salesforceへの接続が正しく作成されたことを示すポップアップダイアログボックスが表示されます。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。