Chrome オリジン トライアルのトラブルシューティング

メタタグ、ヘッダー、スクリプト内のトライアル トークンに関する一般的な問題に対応します。

チェックリスト

オリジン トライアルのトラブルシューティングを行うには、提供されたリンクを使用して以下の各問題を解決してください。

試してみる

以下のデモでは、オリジン トライアル トークンを提供してトライアル機能にアクセスするそれぞれの方法を示しています。

Chrome DevTools を使用してトークンをチェックする

Chrome 93 以降、DevTools はオリジン トライアルの情報を 選択したフレームのアプリケーション パネル。

Chrome DevTools 
オリジン トライアルの情報を [Application] パネルで確認できます。

上部のフレームを開いて、サブフレームで使用可能なオリジン トライアル トークンを調べます。たとえば、 ot-iframe.glitch.me のデモページを見ると、このページが iframe はトークンを提供します。

Chrome DevTools 
  iframe 内のページのオリジン トライアル トークンが表示されているアプリケーション パネル。

  • Token Status: ページに有効なトークンがあるかどうか。なお、オリジン トライアルによっては、 地域制限などの要因により、オリジン トライアル機能が アクセスできなくなります。Chrome DevTools のステータス コード オリジン トライアルの各コードの意味を説明します。
  • オリジン: イベントに対して登録されているウェブオリジン あります。
  • 有効期限: トークンの有効期限の最長(最新の)日時。通常は 一致します。これは、表示されるトークンの有効期間とは異なります。 登録情報 が表示されます。これはトークンの現在の有効期間を示します。 延長できます
  • 使用制限: 一部のトライアルに設定可能の使用制限。
  • 第三者: 第三者によるマッチングを使用するかどうか トークンに対して有効になります。これは一部のオリジン トライアルで利用できます。トライアル機能の要件は次のとおりです。 第三者スクリプトから複数のサイトからアクセスできます。
  • Match Sub-Domains: サブドメインが一致するかどうか トークンに対して有効になります。これにより、オリジン トライアルの機能を複数の オリジンのサブドメインを 1 か所で管理できます。

トライアルが利用できない場合、Chrome DevTools でトライアル名の横に警告が表示される トークンの有効期限が切れている、またはその他の制限がある場合。

Chrome DevTools 
期限切れのトークンを示す [Application] パネルのオリジン トライアル情報

Chrome DevTools のステータス コード

  • Expired: トークンの有効期限が過ぎています。トークンは、次の目的で更新する必要があります。 新しい有効期限で新しいトークンを生成する。
    ソースコード

  • FeatureDisabled: 現在、トライアルの使用が無効になっています。
    ソースコード

  • FeatureDisabledForUser: このトークンは、 代替使用制限を指定します詳しくは、「ユーザー サブセットの除外」をご覧ください。セクション(設計ドキュメント)をご覧ください。
    ソースコード 1
    ソースコード 2

  • 安全でない: リクエスト元が保護されていません。保護されていない生成元のトライアルは有効になりません。 オリジン トライアル トークン検証ツール コードの説明: サードパーティ トークンの場合は、現在の生成元とスクリプト生成元の両方が保護されている必要があります。理由 サブドメインが一致するため、トークンの生成元が、指定されたスクリプトのいずれかと完全に一致しない場合があります どのオリジンが一致したかは結果には示されません。つまり、 適切なスクリプトのオリジンを見つけてください。オリジンの比較をすべてやり直すのを避けるために、 指定したスクリプト生成元の数に応じたショートカットがあります。少なくとも 1 つの サードパーティ トークンが正常に検証されません。'
    ソースコード

  • InvalidSignature: トークンの署名が無効であるか、形式が正しくありません。
    ソースコード

  • 形式が正しくない: トークンの形式が正しくないため、解析できません。
    ソースコード

で確認できます。
  • NotSupported: トークンで定義されたオリジン トライアルは Chromium でサポートされていない 「embedder」: Chrome や Edge などのブラウザ、WebView、その他のユーザー エージェント。
    ソースコード

  • 成功: トークンの形式が正しいこと、有効期限が切れていないこと、オリジン トライアルの機能と一致している 想定される送信元からリクエストされます。
    ソースコード

  • TokenDisabled: トークンが無効としてマークされているため、使用できません。
    ソースコード

  • TrialNotAllowed: 現在のユーザーはオリジン トライアルを利用できません
    ソースコード

  • UnknownTrial: このトークンは、既知のどのトライアルとも一致しない特徴名を指定します。
    ソースコード

  • WrongOrigin: リクエスト元がトークンで指定されたオリジンと一致しません。これにより、 スキーム、ホスト名、ポートを含めます。このステータスは、第三者トークンが が、外部の JavaScript ファイルからではなく、HTTP ヘッダー、メタタグ、またはインライン スクリプトで指定されています。
    ソースコード

  • WrongVersion: トークン バージョンが正しくありません。現在サポートされているのはトークン バージョン 2 と 3 のみです。
    ソースコード


動作しません。🤔

オリジン トライアルが意図したとおりに機能しない場合は、次の条件を満たしていることを確認してください。

Chromium や別のブラウザではなく、Chrome でテストしている

Chrome のオリジン トライアルは、Chrome ユーザーが利用できるように設計されています。Chrome オリジン トライアル トークンに依存しない を使用して、Chromium や他の Chromium ベースのブラウザを含む、他のブラウザで試用版機能を有効にできます。 これは、Chrome のオリジン トライアルが、Chrome for Education で提供される機能に固有のものであるためです。 必要があります。

FirefoxMicrosoft Edge でもオリジン トライアルをご利用いただけます。Firefox または Edge オリジン トライアルに登録しても、Chrome の機能は有効になりません。

サイトにアクセスする Chrome バージョンに対してオリジン トライアルが有効になっています

試用版のご利用は、Chrome の特定のバージョンに限定されています。トライアルと この機能は、Stable 前の Chrome チャンネル(Canary、Dev、Beta)でのみ使用できます。

バージョンの提供状況は登録ページで確認できます :

Chrome オリジン トライアル
ファーストパーティ セットとChrome の提供状況がハイライト表示された SameParty

使用している Chrome のバージョンは chrome://version で確認できます。

オリジン トライアルが Chrome の設定で無効にされていない

特定の機能が動作しないという報告がユーザーから寄せられた場合は、その機能が動作していないことを確認する 無効にすることもできます。例: プライバシー サンドボックス 機能は chrome://settings/privacySandbox ページから無効にできます。

キーワードと構文が正しい

オリジン トライアル トークンには、必ず適切なキーワードと構文を使用してください。

ファーストパーティで使用する場合は、origin-trial メタタグでトークンを指定できます。

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

または、Origin-Trial レスポンス ヘッダーでトークンを指定することもできます。この例で Node.js の Express:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

トークンは JavaScript を使用して指定することもできます。

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

ファーストパーティ トークンの生成元がページの生成元と一致

トライアルの登録時に選択した [Web Origin] の値が、オリジンの情報と一致していることを確認してください。 トークンを提供するメタタグまたはヘッダーを持つページ。

たとえば、[Web Origin] として https://example.com を選択した場合は、次のようになります。

Chrome オリジン トライアル 
[ウェブオリジン] として [https://example.com] が選択されているページ。

次のようなトークン値が返される場合があります。

Chrome オリジン トライアル 
トークン値を表示するページ。

この値が、トラブルシューティングを行うページで使用されているトークンと一致していることを確認します。

メタタグで指定されたトークンの場合は、HTML を確認します。

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

ヘッダーで提供されるトークンについては、 Chrome DevTools の [Network] パネルの [Response Headers] で次の操作を行います。

Chrome DevTools 
オリジン トライアルのレスポンス ヘッダーが表示されているネットワーク パネル。

ファーストパーティ トークンを使用するオリジンから提供される

オリジンから提供されるページに含まれているコードに対してオリジン トライアル機能へのアクセスを有効にするには、 トライアル トークンをメタタグやヘッダーで指定するか、同じオリジンから JavaScript 経由で指定します。

トークンに登録されたオリジンは、トークンを提供するオリジンと一致している必要があります。

サードパーティ トークンの生成元がスクリプトの生成と一致

他のオリジンに挿入されたスクリプトのオリジン トライアルに参加登録できます。

たとえば、javascript-library.example から配信されるスクリプトを オリジン トライアルを使用するには、javascript-library.example のサードパーティ マッチングでトークンを登録する必要があります。

Chrome オリジン トライアル 
一致するサードパーティが選択されている登録ページ。

サードパーティ トークンのオリジンの値は、トークンを挿入するスクリプトのオリジンと一致している必要があります。

サードパーティ スクリプトがサードパーティ トークンを使用する

単純に、サードパーティのスクリプトを有効にしてサイトのオリジン トライアルに参加することはできません。 スクリプトではなく送信元のトークンを登録する。

サードパーティのスクリプトは、サードパーティ マッチングが有効になっているトークンを使用し、スクリプトによって挿入する必要がある (サイトのメタタグまたはヘッダーに含まれない)で、次のようなコードを使用します。

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

サードパーティ トークンが、メタタグ、HTTP ヘッダー、インライン スクリプトではなく、外部スクリプトを介して提供される

サードパーティのトークンは、挿入元のスクリプトに照らして検証されますが、 静的マークアップ内のスクリプトと <meta> タグには生成元(ソース URL)がありません。

つまり、サードパーティ トークンは、<meta> タグではなく、外部スクリプトを介して提供する必要があります。 使用できます。トークンを挿入する外部スクリプトが、 スクリプトの生成元が一致している限り、元のページと同じオリジン、または別のオリジンにできます。 トライアルに登録されたオリジン。

ot-iframe-3p.glitch.me でデモをご覧いただけます。

トライアル トークンを提供するメソッドでは、オリジン トライアル機能へのアクセスがサポートされています。

オリジン トライアル機能にアクセスするタイプによっては、特定の方法でトライアル トークンを指定する必要があります。 たとえば、Service Worker と共有ワーカーのオリジン トライアルへのアクセスを有効にする唯一の方法は、 Origin-Trial ヘッダーでトークンを指定する。

サブドメインで使用されるトークンではサブドメイン マッチングが有効になっています

サイトの一部のページでオリジン トライアル機能が動作しないと思われる場合は、 サービスを提供するサブドメインで、トークンが正しく設定されている。

オリジン トライアルに登録すると、 origin:

Chrome オリジン トライアル 
サブドメイン マッチが選択された登録ページ

サードパーティ トークンのサブドメインを照合することもできます。

Chrome オリジン トライアル 
サードパーティ マッチングとサブドメイン マッチングが選択された登録ページ

サブドメイン トークンは発行されません 公開サフィックス リストのオリジン。たとえば、 https://appspot.com や https://github.io などのオリジンを指定します。ただし、 (https://example.appspot.com や https://example.github.io など)。

トークンがまだ有効である

トークンは、作成後 6 週間有効です。その後、フィードバックを送信する必要があります。 有効期限を延長できますウェブ デベロッパー向けオリジン トライアル ガイドでは、オリジン トライアル特典を トークンはオリジン トライアル全体を通して有効です。

有効なトークンは、Chrome オリジン トライアルの登録ページで確認できます。

Chrome オリジン トライアル 
[Valid Until date] が表示されている [My Registrations] ページ

トークンがまだ有効な場合は、Chrome DevTools でステータス Success が表示されます。

Chrome DevTools 
[Application] パネル内のオリジン トライアル情報。[Status: Success] がハイライト表示されている。

トークンの有効期限が切れている場合は、DevTools にステータス Expired[My Registrations] ページに [Expired Tokens] セクションが表示されます。

Chrome オリジン トライアル 
期限切れのトークンを示す [My Registrations] ページ

オリジン トライアルは終了していない

オリジン トライアルの終了日は登録ページで確認できます。

Chrome オリジン トライアル
ファーストパーティ セットと[試用可能] の詳細がハイライト表示された SameParty。

終了したトライアルの場合、DevTools に次のように表示されます。

Chrome DevTools 
ValidTokenNotProvided と Status Expired を示す [Application] パネルのオリジン トライアル情報

フィードバックが必要な場合やトークンの有効期限が近づいている場合は、自動メールが送信されます。ただし、 。

現在のユーザーはオリジン トライアルを利用できます

一部のオリジン トライアルは、有効なトークンが提供されていても、一部のユーザーは利用できません。

現在のユーザーがトライアルを利用できない場合は、Chrome DevTools に TrialNotAllowed 警告が表示されます。

[Application] パネルに表示される Chrome DevTools のオリジン トライアル情報。TrialNotAllowed の警告が表示されています。

使用制限と利用可能性に関する情報は、オリジン トライアルごとに提供されます。

他のウェブ プラットフォームの機能と同様に、機能検出を使用する必要があります。 を使ってオリジン トライアル機能がサポートされているか、使用前にご確認ください。

オリジン トライアルの使用制限を超過していません

デフォルトでは、オリジン トライアル機能は、トライアル用の有効なトークンがあるすべてのページで有効になります。

ただし、まれなケースを除き、オリジン トライアルの使用は Chrome のページ読み込み全体の最大 0.5% に制限されます。 すべての Chrome ユーザーの合計使用量がこの使用量を超えると、オリジン トライアル機能は無効になります。 DevTools でトークンのステータスが「無効」と表示されます。

デプリケーション トライアルには使用量上限がありません。 リリースされる可能性があるため、変更される部分が トライアル機能に依存しています。

一部のトライアルでは、使用量を制限するオプションも用意されています。つまり、オリジン トライアルの機能は 一部のユーザーに対して無効になっています。このオプションは、オリジンの登録ページから利用できます。 トライアルで次の機能を提供します。

Chrome オリジン トライアル 
使用制限が表示されている登録ページ。

オリジン トライアル機能へのアクセスが予想より低い場合は、 [上限]が [上限]でを選択します。

iframe は独自のトークンを

オリジン トライアル機能へのアクセスを許可するには、iframe のメタタグでトークン、つまり HTTP またはプログラムによって変更します。iframe は、サービスに対して有効になっている機能へのアクセス権を継承しない 表示されます。

ot-iframe.glitch.me: オリジン トライアル機能へのアクセスを示す アップロードできます。ot-iframe-3p.glitch.me では複数の クロスオリジンの iframe の例をご覧ください。

権限ポリシーが正しく構成されている

オリジン トライアルの一部機能は Permissions-Policy の影響を受ける可能性があります ヘッダー(以前は Feature-Policy ヘッダーと呼ばれていました)。これは テストの意図 試用版の機能については、web.dev のデベロッパー向けドキュメントに記載されています。 または developer.chrome.com/blog をご覧ください。

アクセスしようとしている機能が Permissions-Policy によってブロックされていないことを確認してください 指定します。レスポンス ヘッダーは Chrome DevTools の [Network] パネルでチェックでき、 [Application] パネルで使用できる機能の完全なリスト。

Chrome DevTools 
  Permissions Policy Allowed の機能が表示されているアプリケーション パネル。

ワーカーについてはどうでしょうか。

オリジン トライアルの機能は、Service Worker、共有ワーカー、専用の できます。ただし、Service Worker と共有ワーカーがアクセスできるようにするための唯一の方法は、 Origin-Trial ヘッダーのトークン。

専用ワーカーは、親ドキュメントで有効になっている機能へのアクセス権を継承します。

特徴へのアクセス前にトークンが提供される

トライアル機能にアクセスするに、オリジン トライアル トークンが指定されていることを確認します。 たとえば、ページが JavaScript を介してトークンを提供している場合は、トークンを提供するためのコードを確認します。 トライアル機能へのアクセスを試みるコードの前に実行される。

オリジン トライアルのデモ

補足説明