組織の接続アプリケーションの作成
Salesforce CLI には、認証する組織の接続アプリケーションが必要です。接続アプリケーションとは、外部アプリケーション (この場合は Salesforce CLI) が API や、OAuth などの標準プロトコルを使用して Salesforce に統合できるようにするフレームワークのことです。org login web コマンドで組織を認証するときのために、デフォルトの接続アプリケーションが提供されています。セキュリティを強化するには、[設定] を使用して組織内で独自に接続アプリケーションを作成し、必要な設定を使用して構成します。org login jwt コマンドを使用して組織を認証する場合は、接続アプリケーションを作成する必要があります。
- 組織にログインします。
- [設定] から、[クイック検索] ボックスに「アプリケーションマネージャー」と入力し、[アプリケーションマネージャー] を選択します。
- 右上隅で、[新規接続アプリケーション] をクリックします。
- 必要に応じて、基本情報 (接続アプリケーション名やメールアドレスなど) を更新します。
- [OAuth 設定の有効化] を選択します。
-
コールバック URL に「http://localhost:1717/OauthRedirect」と入力します。
ポート 1717 (デフォルト) がすでにローカルマシンで使用されている場合、代わりに使用できるポートを指定します。次に、oauthLocalPort プロパティを新しいポートに設定して、sfdx-project.json ファイルを更新します。たとえば、コールバック URL を http://localhost:1919/OauthRedirect に設定する場合、次のようにします。
1"oauthLocalPort" : "1919" - (JWT で必須) [デジタル署名を使用] を選択します。
- (JWT で必須) [ファイルを選択] をクリックし、server.crt ファイルなどのデジタル証明書を含むファイルをアップロードします。
-
次の OAuth 範囲を追加します。
- API を使用してユーザーデータを管理 (api)
- Web ブラウザーを使用してユーザーデータを管理 (web)
- いつでも要求を実行 (refresh_token, offline_access)
- 有効になっている場合は、[サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求] を無効にします。
- [保存] をクリックして、[続行] をクリックします。
-
[コンシューマーの詳細を管理] をクリックします。
本人確認を求められたら、E メールアドレスに自動送信された確認コードを入力して本人であることを確認します。
- 後で org login コマンドを実行するときに必要になるため、コンシューマーキーの横の [コピー] をクリックします。
- [[接続アプリケーションを管理する] に戻る] をクリックします。
- [管理] をクリックします。
- [ポリシーを編集] をクリックします。
-
[OAuth ポリシー] セクションの [更新トークンポリシー] 項目で [次の時間が��過したら更新トークンを期限切れにする:] をクリックし、90 日以下を入力します。
更新トークンが期限切れになる日数には最大で 90 日を設定することが、セキュリティのベストプラクティスとして推奨されます。更新トークンが期限切れになった組織に対して CLI コマンドを引き続き実行するには、org login web または org login jwt コマンドを使用して組織を再認証します。
-
[セッションポリシー] セクションで [タイムアウト値] を 15 分に設定します。
セキュリティのベストプラクティスとして、アクセストークンのタイムアウトを設定することが推奨されます。Salesforce CLI は、更新トークンを参照して期限切れのアクセストークンを自動的に処理します。
- (JWT で必須) [OAuth ポリシー] セクションで、許可されているユーザーに [管理者が承認したユーザーは事前承認済み] を選択し、[OK] をクリックします。
- [保存] をクリックします。
- (JWT で必須) [プロファイルの管理] をクリックし、この接続アプリケーションの使用について事前承認済みのプロファイルを選択し、[保存] をクリックします。同様に、[権限セットの管理] をクリックして権限セットを選択します。必要に応じて、権限セットを作成します。
コンシューマーキーを指定するには、org login コマンドの --client-id フラグを使用します。コンシューマーキーが 04580y4051234051 で、ブラウザーで Dev Hub 組織にログインして認証する場合は、ターミナル (macOS と Linux) またはコマンドプロンプト (Windows) で次のコマンドを実行します。
1sf org login web --client-id 04580y4051234051 --set-default-dev-hub --alias my-hub-orgその他の例については、org login web と org login jwt のリファレンスを参照してください。