この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

JWT ベースフローを使用した組織の認証

継続的インテグレーション (CI) 環境は完全に自動化されており、Web ベースフローのユーザインタラクションはサポートされていません。この場合、JWT ベースフローを使用して Dev Hub を認証する必要があります。

JWT ベース認証フローでは、最初にデジタル証明書の生成と接続アプリケーションの作成を行う必要があります。次のタスクを 1 回のみ実行します。その後、CI 環境で実行されるスクリプトで Dev Hub を認証できるようになります。

Travis CI での JWT ベース認証の使用については、「Salesforce DX を使用した継続的インテグレーション」Trailhead モジュールを参照してください。

  1. 独自の非公開鍵とデジタル証明書がない場合は、OpenSSL を使用して鍵と自己署名証明書を作成します。このタスクでは、非公開鍵ファイルの名前が server.key で、デジタル証明書の名前が server.crt であることを前提としています。
  2. 接続アプリケーションを作成して Salesforce DX 用に設定します。このタスクには、server.crt デジタル証明書ファイルのアップロードが含まれます。後で必要になるため、接続アプリケーションの保存時にコンシューマ鍵を書き留めておきます。
  3. 認証する組織が https://login.salesforce.com でホストされていない場合、プロジェクトの設定ファイル (sfdx-project.json) を更新します。sfdcLoginUrl パラメータをこのログイン URL に設定します。他のログイン URL の例として、カスタムサブドメインや Sandbox 用の https://test.salesforce.com などが挙げられます。たとえば、次のようにします。
    1"sfdcLoginUrl" : "https://test.salesforce.com"

    または、次のステップのように force:auth:jwt:grant コマンドの --instanceUrl パラメータを使用して URL を指定します。

  4. force:auth:jwt:grant CLI コマンドを実行します。接続アプリケーションのクライアント ID (コンシューマ鍵とも呼ばれる)、非公開鍵ファイル (server.key) へのパス、および JWT 認証ユーザ名を指定します。Dev Hub を認証するときに --setdefaultdevhubusername パラメータでデフォルトに設定します。たとえば、次のようにします。
    1sfdx force:auth:jwt:grant --clientid 04580y4051234051 --jwtkeyfile /Users/jdoe/JWT/server.key --username jdoe@acdxgs0hub.org --setdefaultdevhubusername --setalias my-hub-org

    別のログイン URL を指定するには、次のようにします。

    1sfdx force:auth:jwt:grant --clientid 04580y4051234051 --jwtkeyfile /Users/jdoe/JWT/server.key --username jdoe@acdxgs0hub.org --setdefaultdevhubusername --setalias my-hub-org --instanceUrl https://test.salesforce.com