OAuth クライアントによる暗黙的な権限許可の使用を防ぐ

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:3分
  • システムプロパティを使用して、暗黙的な権限許可タイプの使用を回避します。

    OAuth の暗黙的な権限許可は、クロスオリジンリソース共有 (CORS) が広く採用される前に、ブラウザーとクライアント側アプリケーション (シングルページアプリケーションなど) の間の制限を克服するために作成されました。具体的には、ブラウザの同一生成元ポリシーが、OAuth 認証コードを OAuth アクセストークンと交換する要求をブロックしました。CORS サポートはユニバーサルであるため、OAuth クライアントは暗黙的な権限許可を使用する必要はなく、暗黙的な権限許可タイプの要求はデフォルトで失敗します。

    glide.oauth.clients.allowed.for.implicit.grantプロパティにリストされているクライアント ID は、引き続き暗黙的な権限許可タイプを使用できます。プロパティがシステムプロパティ [sys_properties] テーブルに存在しないか、存在するが値が含まれていないことを確認します。

    重要:
    OAuth クライアントを別の権限許可タイプに変更すると、クライアントアプリケーションのコードまたは構成の変更が必要になる場合があります (ServiceNow プラットフォームの外部)。

    詳細情報

    属性 説明
    構成名 glide.oauth.clients.allowed.for.implicit.grant
    構成タイプ システムプロパティ (/sys_properties_list.do)
    データタイプ 文字列
    推奨値 <空>
    デフォルト値 <空>
    フォールバック値 <空>
    カテゴリ API と Web サービス
    セキュリティリスク
    • 重大度スコア:3.9
    • CVSS スコア:低
    • セキュリティリスクの詳細:

      OAuth の暗黙的な権限許可タイプにより、認証サーバーは認証応答内でアクセストークンを発行するため、アクセストークンの漏洩やアクセストークンのリプレイに対して脆弱になります。これは、攻撃者が漏洩または盗まれたアクセストークンをリソースエンドポイントで使用できることを意味します。

      暗黙的な権限許可では、認証サーバーがアクセストークンを URL フラグメントに直接返すため、問題が発生する可能性があります。

      1. この URL フラグメントは、ブラウザー履歴に保存される場合があります。
      2. その後、ページが画像を読み込んだり、他のドメインへのリンクをたどったりすると、URL の一部がリファラーヘッダーを介してリークする可能性があります。
      3. Web サーバー、ロードバランサー、およびプロキシは、完全な URL をログに記録する場合があります。
      4. ページで実行されているすべての JavaScript (挿入された悪意のある JS を含む) は、 window.location.hash を読み取り、トークンを抽出できます。

      これらの問題を回避するには、人間/インタラクティブユーザーがクライアントに認証を委任する場合は、暗黙的な権限許可タイプではなく認証コード権限許可タイプを使用します。

      参照

    機能への影響

    暗黙的な権限許可タイプの要求は、デフォルトで失敗します。プロパティに追加されていない暗黙的な権限許可タイプの OAuth クライアントは、デフォルトでは失敗します。

    暗黙的な権限許可タイプを使用する OAuth クライアントを定義していない場合、影響はありません。

    注:
    OAuth クライアントを別の権限許可タイプに変更すると、クライアントアプリケーションのコードまたは構成の変更が必要になる場合があります (ServiceNow プラットフォームの外部)。
    依存関係と前提条件 なし