外部クライアントアプリケーション OAuth 設定の定義
OAuth 設定を定義して、ローカル外部クライアントアプリケーションの構造を設定します。
必要なエディション
| 使用可能なインターフェース: Lightning Experience |
| 使用可能なエディション: Professional Edition、Performance Edition、Unlimited Edition、および Developer Edition |
| 必要なユーザー権限 | |
|---|---|
| 外部クライアントアプリケーション OAuth 設定を定義する | 外部クライアントアプリケーションの作成、編集、削除 |
- 外部クライアントアプリケーションを作成し、その基本情報を入力します。
-
ページの [OAuth 設定] 領域で、[OAuth 設定の有効化] を選択します。
[OAuth 設定] 領域が展開され、OAuth 設定項目が表示されます。
-
Salesforce が OAuth 時にアプリケーションにコールバックするコールバック URL (エンドポイント) を入力します。これは OAuth リダイレクト URI と同じです。
通常、この URL は、認証が成功した後にユーザーのブラウザーがリダイレクトされる URL であり、使用する OAuth フローによって決まります。この URL は一部の OAuth フローでアクセストークンを渡すために使用されるため、URL でセキュア HTTPS またはカスタム URI スキームを使用する必要があります。複数のコールバック URL を入力すると、実行時に Salesforce は、アプリケーションで指定されたコールバック URL の値を [コールバック URL] のいずれかの値と照合します。検証テストに通過するには、いずれか 1 つの値と一致する必要があります。
コールバック URL 項目には、累積で 2000 文字までという制限があります。複数のコールバック URL は、改行で区切ります。
-
外部クライアントアプリケーションに適用する OAuth 範囲を選択します。
OAuth 範囲では外部クライアントアプリケーションの権限が定義されます。これは、アプリケーションの認証後にトークンとして付与されます。OAuth トークン名は括弧で囲みます。
-
組織全体のすべてのアクセストークンと更新トークンを 1 つの外部クライアントアプリケーションが調査できるようにするには、[すべてのトークンを調査] を選択します。
デフォルトでは、すべての外部クライアントアプリケーションが自身のトークンを調査できます。また、動的クライアント登録エンドポイントを介して OAuth 2.0 外部クライアントアプリケーションを直接登録している OAuth クライアントは、自身とその登録済みアプリケーションのトークンを確認できます。
-
OAuth 要求で ID トークンを処理する方法を制御するには、[ID トークンを設定] を選択します。
OAuth 要求に [一意の識別子へのアクセスを許可 (openid)] 範囲が含まれる場合、返されるトークンに ID トークンが含まれる可能性があります。
ID トークンはアクセストークン応答に常に含まれます。
-
プライマリ ID トークン設定を有効にした状態で、アクセストークン応答と更新トークン応答の両方で ID トークンコンテンツを制御するセカンダリ設定を構成します。次の設定を指定します。
設定 説明 トークン期間 (分) ID トークンの発行後、ID トークンが有効な期間。指定できる期間は 1 ~ 720 分です。デフォルトは 2 分です。 ID トークンの利用者 ID トークンの対象コンシューマー。たとえば、ID トークンを使用する対象サービス (https://your_service.com など) です。 標準要求を含める ユーザーの名前、プロファイル、電話番号、住所など、ユーザーに関する情報を含む標準要求を含めます。「OpenID Connect の仕様」では、ID トークンで返される、一連の標準要求が定義されます。 カスタム権限を含める アプリケーションでカスタム権限を指定した場合は、そのカスタム権限を ID トークンに含めます。 カスタム属性 アプリケーションでカスタム属性を指定した場合は、そのカスタム属性を ID トークンに含めます。 -
OAuth フローを有効にし、必要に応じてこれらの設定を定義します。
クライアントログイン情報フローの設定を定義する 「Configure a Client Credentials Flow」を参照してください。 認証コードとログイン情報フローの設定を定義する 「コードとログイン情報フローの設定」を参照してください。 デバイスフローの設定を定義する 「Configure a Device Flow」を参照してください。 JSON Web トークン (JWT) ベースのアクセストークンの設定 「Configure a JWT Bearer Flow」を参照してください。 -
アクセストークンと交換するアプリケーションのクライアントの秘密を要求するには、[Web サーバーフローの秘密が必要] を選択します。
重要 クライアントアプリケーションでクライアントの秘密の機密性を維持できず、かつ Web サーバーフローを使用する必要がある場合は、[Web サーバーフローの秘密が必要] を選択解除します。アプリケーション用にクライアントの秘密は依然として生成されますが、この設定で、アクセストークン要求内の client_secret パラメーターが不要であることを Web サーバーフローに指示します。 -
更新トークンおよびハイブリッド更新トークンフローの認証要求でクライアントの秘密を要求するには、[更新トークンフローの秘密が必要] を選択します。
このオプションを選択せずに、アプリケーションが認証要求でクライアントの秘密を送信すると、クライアントの秘密は引き続き検証されます。
このオプションは、クライアントの秘密を保護できる Web サーバーベースのアプリケーションで選択できます。ただし、モバイルアプリケーションやユーザーのコンピューターにインストールするアプリケーションなど、クライアントの秘密を保護できないアプリケーションでは、このオプションを選択しないことをお勧めします。 -
PKCE を必須にするには、[サポートされる認証フローに Require Proof Key for Code Exchange (PKCE) extension (コード交換の証明キー (PKCE) 拡張機能が必要)] を選択します。
この設定では、Web サーバーフロー、ハイブリッド Web サーバーフロー、およびコードとログイン情報フローに PKCE が必要です。また、ヘッドレス登録、パスワードなしのヘッドレスログイン、ゲストユーザーのヘッドレス ID など、コードとログイン情報フローのすべてのバリエーションで PKCE が必要です。この設定を有効にすると、PKCE を実装していない次のフローがこの外部クライアントアプリケーションに対してブロックされます。PKCE を使用したアプリケーションの保護についての詳細は、「Proof Key for Code Exchange (PKCE) 拡張」を参照してください。
-
更新トークンフローが呼び出されるたびに新しい更新トークンを取得するには、[更新トークンのローテーションを有効化] を選択します。
重要 セキュリティのベストプラクティスとして、この設定を有効にすることが推奨されます。この設定を有効にすると、古い更新トークンは使用された後に自動的に無効になり、各トークンが 1 回のみ使用されるようになります。循環から外れた更新トークンを使用しようとすると、Salesforce は現在の更新トークンおよび関連付けられているアクセストークンを無効にします。 - ユーザーのアクセストークンを取得するには、[指名ユーザーの JSON Web トークン (JWT) ベースのアクセストークンを発行] を選択します。
- 外部クライアントアプリケーションの設定が完了したら、変更を保存します。
- 更新トークンの IP 許可リスト範囲の設定
セキュリティを強化し、Salesforce データを不正アクセスから保護するには、更新トークンを許可する IP 範囲を設定します。[更新トークン IP 許可リストを適用] を有効にすると、許可範囲内の IP のみが OAuth Web サーバーフローまたは更新トークンフローを完了できます。 - 外部クライアントアプリケーションでのアイドル更新トークン TTL の制限
セキュリティを強化するには、アイドル更新トークンの TTL (存続可能時間) を 30 日に制限します。アイドル TTL は、更新トークンが期限切れになるまでに無効にできる時間です。アイドル TTL はスライディングウィンドウとして機能します。トークンが 30 日以内に使用されるたびに、そのアイドル TTL がリセットされます。アプリケーション開発者として、この制限を有効にすると、登録者の更新トークンポリシーに影響します。
この記事で問題は解決されましたか?
ご意見をお待ちしております。

