ヘッドレス ID API: 認証コードとログイン情報フローの外部クライアントアプリケーションの設定
Salesforce ヘッドレス ID API と統合するには、認証コードとログイン情報フローの外部クライアントアプリケーションを設定します。[設定] で外部クライアントアプリケーションマネージャーを使用します。または、メタデータ API を使用して外部クライアントアプリケーションを設定します。外部クライアントアプリケーションでは、ヘッドレスログイン、パスワードなしのログイン、登録、ゲストユーザーのバリエーションなど、認証コードとログイン情報フローのすべてのバリエーションがサポートされます。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Unlimited Edition、および Developer Edition |
| 必要なユーザー権限 | |
|---|---|
| 外部クライアントアプリケーション開発者として設定とポリシーの両方を設定する | 外部クライアントアプリケーションの作成、編集、削除 |
| 外部クライアントアプリケーション管理者として外部クライアントアプリケーションポリシーを管理する | すべての外部クライアントアプリケーションの表示、その設定の表示、およびそのポリシーの編集 |
認証コードとログイン情報フローの場合、外部クライアントアプリケーションでいくつかの設定とポリシーを有効にする必要があります。設定とポリシーへのアクセス権は、ユーザー権限で定義されたロールによって異なります。開発者は設定とポリシーの両方を設定します。設定を使用して、システム管理者がアクセスできるポリシーを制御できます。システム管理者はポリシーのみを設定します。システム管理者が特定のポリシーを見つけられない場合は、アプリケーション開発者にお問い合わせください。
- 外部クライアントアプリケーションマネージャーの使用
[設定] の外部クライアントアプリケーションマネージャーを使用して、認証コードとログイン情報フローの外部クライアントアプリケーションを設定します。 - メタデータ API の使用
メタデータ API を使用して、認証コードとログイン情報フローの外部クライアントアプリケーションを設定します。
外部クライアントアプリケーションマネージャーの使用
[設定] の外部クライアントアプリケーションマネージャーを使用して、認証コードとログイン情報フローの外部クライアントアプリケーションを設定します。
認証コードとログイン情報フローを使用するには、[設定] の [OAuth および OpenID Connect 設定] ページで組織で有効化する必要があります。外部クライアントアプリケーションで OAuth が有効になっている必要があります。認証コードとログイン情報フローのゲストユーザーバリエーションでは、JSON Web トークン (JWT) ベースのアクセストークンのみがサポートされます。このフローバリエーションを使用するには、外部クライアントアプリケーションで JWT ベースのアクセストークンを発行できるようにします。
-
(開発者のみ) 外部クライアントアプリケーション設定を編集します。システム管理者は、開発者がこれらの設定を有効にします。
-
[設定] から、[クイック検索] ボックスに「外部クライアントアプリケーション」と入力し、[外部クライアントアプリケーションマネージャー] を選択します。アプリケーションの横にある
をクリックし、[設定を編集] を選択します。
- [OAuth 設定] の [フローの有効化] セクションで、[コードとログイン情報フローを有効化] を選択します。
-
アプリケーションがトークンエンドポイントへの要求でコンシューマーの秘密 (
client_secret) を送信する必要があるかどうかを制御します。クライアント バックエンドを使用して非公開クライアントにこのフローを実装する場合は、[認証コードとログイン情報フローの POST 本文にユーザーログイン情報が必要(Require user credentials in the POST body for Authorization Code and Credentials Flow)] を選択します。クライアントバックエンドでコンシューマーの秘密を安全に保つことができることを確認します。単一ページ アプリケーションなどの公開クライアントでこのフローを使用している場合、ブラウザでコンシューマーの秘密が漏洩しないように、[認証コードとログイン情報フローの POST 本文にユーザーログイン情報が必要] を選択解除します。 - (省略可能) フローで Proof Key for Code Exchange (PKCE) 拡張を要求するには、[サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求] を選択します。公開クライアントでは、コード交換を保護するためにコンシューマーの秘密を使用できないため、PKCE を強くお勧めします。非公開クライアントの場合も推奨されますが、公開クライアントほど重要ではありません。
-
変更内容を保存します。
変更を保存すると、外部クライアントアプリケーションの [ポリシー] タブに移動します。
-
[設定] から、[クイック検索] ボックスに「外部クライアントアプリケーション」と入力し、[外部クライアントアプリケーションマネージャー] を選択します。アプリケーションの横にある
-
外部クライアントアプリケーションポリシーを編集します。
-
アプリケーションの [ポリシー] タブに移動します (まだ移動していない場合)。[設定] から、[クイック検索] ボックスに「外部クライアントアプリケーション」と入力し、[外部クライアントアプリケーションマネージャー] を選択します。アプリケーションの横で [
] をクリックし、[ポリシーの編集] を選択します。
- [アプリケーションポリシー] の [許可されているユーザー] で、[管理者が承認したユーザーは事前承認済み] を選択します。
- ユーザーの管理承認を行うには、アプリケーションのユーザーに割り当てられた権限セットを選択します。詳細は、「権限セット」を参照してください。
- 変更内容を保存します。
アプリケーションで認証コードとログイン情報フローを使用して、ヘッドレスログイン、パスワードなしのログイン、登録ができるようになりました。 -
アプリケーションの [ポリシー] タブに移動します (まだ移動していない場合)。[設定] から、[クイック検索] ボックスに「外部クライアントアプリケーション」と入力し、[外部クライアントアプリケーションマネージャー] を選択します。アプリケーションの横で [
-
ゲストユーザーフローバリエーションにアプリケーションを使用するには、次の追加の設定可能な OAuth ポリシーを設定します。
- ゲストユーザーのバリエーションを有効にするには、[Enable Code and Credentials Flow for Guest Users (ゲストユーザーのコードとログイン情報フローを有効化)] を有効にします。
- ゲストアクセストークンの発行後の有効期間を定義するには、[ゲスト JSON Web トークン (JWT) タイムアウト] のオプションを選択します。
- 変更内容を保存します。
メタデータ API の使用
メタデータ API を使用して、認証コードとログイン情報フローの外部クライアントアプリケーションを設定します。
認証コードとログイン情報フローを使用するには、OauthOidcSettings メタデータ型の oAuthCdCrdtFlowEnable 項目が true である必要があります。
外部クライアントアプリケーションでも OAuth プラグインが有効になっている必要があります。詳細は、次のリソースを参照してください。
認証コードとログイン情報フローのゲストユーザーバリエーションでは、JSON Web トークン (JWT) ベースのアクセストークンのみがサポートされます。このフローバリエーションを使用するには、外部クライアントアプリケーションで JWT ベースのアクセストークンを発行できるようにします。
-
(開発者のみ) これらの設定は、外部クライアントアプリケーションのグローバル OAuth 設定ファイルで設定します。
-
isCodeCredFlowEnabled 項目を
trueに設定します。 -
(省略可能) セキュリティ上の理由により、POST 要求の本文でユーザーのログイン情報を認証エンドポイントに送信することをアプリケーションに要求するには、isCodeCredPostOnly を
trueに設定します。falseに設定されている場合、POST 要求または GET 要求のいずれかを使用できます。また、ユーザーのログイン情報は要求本文または基本認証ヘッダーに含めることができます。 -
トークンエンドポイントへの要求でコンシューマーの秘密 (
client_secret) をアプリケーションに送信する必要があるかどうかを制御するには、 isConsumerSecretOptional 項目を設定します。クライアント バックエンドを使用して非公開クライアントにこのフローを実装する場合、このフィールドをtrueに設定します。クライアントバックエンドでコンシューマーの秘密を安全に保つことができることを確認します。単一ページアプリケーションなどの公開クライアントでこのフローを使用している場合、ブラウザーでコンシューマーの秘密が漏洩しないように、この項目をfalseに設定します。 -
(省略可能) フローで Proof Key for Code Exchange (PKCE) 拡張を要求するには、isPkceRequired を
trueに設定します。公開クライアントでは、コード交換を保護するためにコンシューマーの秘密を使用できないため、PKCE を強くお勧めします。非公開クライアントの場合も推奨されますが、公開クライアントほど重要ではありません。 - 変更をリリースします。
詳細は、「Configure the External Client App Global OAuth Settings」を参照してください。 -
isCodeCredFlowEnabled 項目を
-
アプリケーションの設定可能な OAuth ポリシーを変更します。
-
permittedUsersPolicyType の値を
AdminApprovedPreAuthorizedに設定します。
メモ この変更を保存すると、現在アプリケーションを使用しているすべてのユーザーがアクセスできなくなります。 - 管理者が承認するユーザーを定義するには、権限セットを使用します。commaSeparatedPermissionSet 項目の権限セット ID のリストを入力します。
アプリケーションで認証コードとログイン情報フローを使用して、ヘッドレスログイン、パスワードなしのログイン、登録ができるようになりました。 -
permittedUsersPolicyType の値を
-
ゲストユーザーフローバリエーションにアプリケーションを使用するには、次の追加の設定可能な OAuth ポリシーを設定します。
-
ゲストユーザーのバリエーションを有効にするには、isGuestCodeCredFlowEnabled を
trueに設定します。 -
ゲストアクセストークンの発行後の有効期間を定義するには、次のいずれかのオプションを使用します。
ゲストユーザートークンのタイムアウトオプション 設定 Experience Cloud ゲストユーザータイムアウトを使用 — このオプションを使用すると、Salesforce は [セッションタイムアウト時間] フィールドのゲストユーザーのプロファイルセッション設定で定義されたタイムアウトを使用します。ユーザーのプロファイルセッションタイムアウトがない場合、Salesforce は組織セッション設定の [タイムアウト値] 項目の値を使用します。両方が定義されている場合、Salesforce のデフォルトはプロファイルセッションタイムアウトになります。 guestJwtSessionTimeoutType 項目を UserSessionに設定します。このアプリケーションにのみ適用されるタイムアウト値を設定します。 - guestJwtSessionTimeoutType 項目を
Customに設定します。 - guestJwtTimeout フィールドに、タイムアウト値を分単位で設定します。有効な値のリストについては、『メタデータ API 開発者ガイド』の「ExtlClntAppOauthConfigurablePolicies」を参照してください
- guestJwtSessionTimeoutType 項目を
- 変更をリリースします。
-
ゲストユーザーのバリエーションを有効にするには、isGuestCodeCredFlowEnabled を

