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フローが必要とする独自の接続アプリケーションを作成する必要があります。
-
[Create Self-Signed Certificate] (自己署名証明書の作成)をクリックして自己署名証明書を作成し、ローカルマシンに証明書をダウンロードします。この例では、デモ用に証明書talend_certificateが作成され、D:\talend_certificate.crtにダウンロードされました。自己署名証明書の作成方法は、Salesforceの公式ドキュメンテーション自己署名証明書の生成をご覧ください。
に移動し、 - [Export to Keystore] (キーストアにエクスポート)をクリックして、証明書をJKS (Javaキーストア)形式のキーストアファイルにエクスポートします。この例では、証明書はD:\00D28000001O6WS.jksにエクスポートされます。
- [Connected Apps] (接続済みアプリ)エリアの[New] (新規)をクリックして、OAuth設定を有効にし、ダウンロードしたデジタル証明書D:\talend_certificate.crtを使う接続済みアプリを作成します。JWT認証フローのコンシューマーキーが生成されます。この例では、接続アプリケーションtalend_appがデモ用に作成済みです。接続済みアプリの作成方法は、Salesforceの公式ドキュメンテーションCreate a Connected Appをご覧ください。 に移動し、
- 接続済みアプリを作成した後、使う前にコンシューマーを承認します。これを行うには、承認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メタデータウィザードを使ってテストします。