Fehlerbehebung bei Chrome-Ursprungstests

Häufige Probleme mit Testtokens in Meta-Tags, Headern und Skripts beheben

Checkliste

Gehen Sie die unten aufgeführten Probleme mithilfe der angegebenen Links durch, um Fehler bei einem Ursprungstest zu beheben.

Probier es gleich aus!

Die folgenden Demos zeigen jede der Möglichkeiten, ein Ursprungstesttoken bereitzustellen und auf eine Testfunktion zuzugreifen:

Tokens mit den Chrome-Entwicklertools prüfen

Ab Chrome 93 stellen die Entwicklertools im Steuerfeld „Application“ (Anwendung) Informationen zu Ursprungstests für den ausgewählten Frame bereit.

Informationen zu Ursprungstests der Chrome DevTools im Steuerfeld „Anwendung“.

Maximieren Sie den oberen Frame, um Ursprungstesttokens zu prüfen, die für einen Subframe verfügbar sind. Auf der Demoseite unter ot-iframe.glitch.me können Sie beispielsweise sehen, dass die Seite im iFrame ein Token bereitstellt.

Chrome-Entwicklertools 
  Bereich „Anwendung“ mit Ursprungstesttokens für die Seite im iFrame.

  • Token Status (Tokenstatus): Gibt an, ob die Seite ein gültiges Token enthält. Beachten Sie, dass für einige Ursprungstests andere Faktoren wie etwa geografische Einschränkungen auftreten können, die bedeuten, dass die Ursprungstestfunktion trotz Vorhandensein eines gültigen Tokens nicht verfügbar ist. In den Statuscodes der Chrome-Entwicklertools wird die Bedeutung der einzelnen Codes für Ursprungstests erläutert.
  • Ursprung: Der für das Token registrierte Webursprung.
  • Ablaufzeit: das spätestes (letzte) Ablaufdatum für das Token, das in der Regel mit dem Ende des Testzeitraums übereinstimmt. Dies ist nicht dasselbe wie das Gültigkeitsdatum für das Token, das unter Meine Registrierungen angezeigt wird. Dort wird angegeben, wie lange das Token derzeit gültig ist und verlängert werden kann.
  • Nutzungsbeschränkung: Nutzungslimits, die für einige Tests festgelegt werden können.
  • Drittanbieter: Gibt an, ob der Drittanbieter-Abgleich für das Token aktiviert ist. Dies ist für einige Ursprungstests verfügbar, bei denen über Drittanbieterskripts auf mehreren Websites auf eine Testfunktion zugegriffen werden muss.
  • Unterdomains abgleichen: Gibt an, ob der Abgleich von Subdomains für das Token aktiviert ist. Dadurch kann ein Ursprungstestfeature auf mehreren Subdomains eines Ursprungs getestet werden, ohne dass für jede Subdomain ein anderes Token erforderlich ist.

In den Chrome-Entwicklertools wird neben dem Namen der Testversion eine Warnung angezeigt, wenn die Testversion für den aktuellen Nutzer nicht verfügbar ist, das Token abgelaufen ist oder andere Einschränkungen vorliegen.

Chrome DevTools: Informationen zu Ursprungstests im Anwendungsbereich mit abgelaufenem Token

Statuscodes der Chrome-Entwicklertools

  • Abgelaufen: Das Token ist abgelaufen. Das Token muss verlängert werden, um ein neues Token mit einem neuen Ablaufdatum zu generieren.
    Quellcode

  • FeatureDisabled: Der Testzeitraum ist derzeit deaktiviert.
    Quellcode

  • FeatureDisabledForUser: Dieses Token wurde für den aktuellen Nutzer über eine alternative Nutzungsbeschränkung als deaktiviert gekennzeichnet. Weitere Informationen finden Sie im Designdokument im Abschnitt „Nutzeruntergruppenausschlüsse“.
    Quellcode 1
    Quellcode 2

  • Nicht sicher: Der Ursprung der Anfrage ist unsicher und der Test ist für unsichere Ursprünge nicht aktiviert. Wie im Code zur Validierung des Ursprungstests-Tokens erläutert, gilt Folgendes: „Bei Drittanbietertokens müssen sowohl der aktuelle Ursprung als auch der Skriptursprung sicher sein. Aufgrund des Subdomain-Abgleichs stimmt der Tokenursprung möglicherweise nicht genau mit einem der angegebenen Skriptursprünge überein. Das Ergebnis gibt dann nicht an, welcher spezifische Ursprung zugeordnet wurde. Das bedeutet, dass es keine direkte Suche nach dem richtigen Skriptursprung ist. Damit nicht alle Ursprungsvergleiche wiederholt werden müssen, gibt es Tastenkombinationen, die davon abhängen, wie viele Skriptursprünge angegeben wurden. Es muss mindestens ein Token geben, sonst wird das Drittanbieter-Token nicht erfolgreich validiert.
    Quellcode

  • InvalidSignature: Das Token hat eine ungültige oder fehlerhafte Signatur.
    Quellcode

  • Fehlerhaftes Format: Das Token ist fehlerhaft und konnte nicht geparst werden.
    Quellcode

  • NotSupported: Der durch das Token definierte Ursprungstest wird in Chromium-Einbettungen nicht unterstützt: in Browsern wie Chrome oder Edge, WebView oder einem anderen User-Agent.
    Quellcode

  • Erfolgreich: Das Token ist korrekt formatiert, noch nicht abgelaufen, stimmt mit einem Ursprungstestfeature überein und wird von einem erwarteten Ursprung angefordert.
    Quellcode

  • TokenDisabled: Das Token wurde als deaktiviert markiert und kann nicht verwendet werden.
    Quellcode

  • TrialNotAllowed: Der Ursprungstest ist für den aktuellen Nutzer nicht verfügbar.
    Quellcode

  • UnknownTrial: Das Token gibt einen Funktionsnamen an, der mit keinem bekannten Test übereinstimmt.
    Quellcode

  • WrongOrigin: Der Ursprung der Anfrage stimmt nicht mit dem im Token angegebenen Ursprung überein. Dies kann das Schema, den Hostnamen oder den Port umfassen. Dieser Status wird auch angezeigt, wenn ein Drittanbieter-Token in einem HTTP-Header, einem Meta-Tag oder einem Inline-Skript statt in einer externen JavaScript-Datei bereitgestellt wird.
    Quellcode

  • WrongVersion: Falsche Tokenversion: Derzeit werden nur Tokens Version 2 und 3 unterstützt.
    Quellcode


Es funktioniert nicht. 🤔

Wenn Ihr Ursprungstest nicht wie erwartet funktioniert, prüfen Sie, ob die folgenden Bedingungen erfüllt sind.

Du testest in Chrome, nicht in Chromium oder einem anderen Browser

Chrome-Ursprungstests sind für Chrome-Nutzer konzipiert. Verlassen Sie sich nicht auf die Tokens des Chrome-Ursprungstests, um Testfunktionen in anderen Browsern wie Chromium und anderen Chromium-basierten Browsern zu aktivieren. Dies liegt daran, dass Chrome-Ursprungstests für Funktionen spezifisch sind, die in Chrome für Tests zur Verfügung gestellt werden.

Ursprungstests sind auch für Firefox und Microsoft Edge verfügbar. Durch die Registrierung für einen Firefox- oder Edge-Ursprungstest wird eine Funktion in Chrome nicht aktiviert.

Der Ursprungstest ist für die Chrome-Versionen aktiviert, die auf Ihre Website zugreifen

Der Zugriff auf Testversionen ist auf bestimmte Versionen von Chrome beschränkt. In einigen Fällen kann dies bedeuten, dass eine Testfunktion nur für die vorstabile Chrome-Version Canary, Entwickler und Beta verfügbar ist.

Sie können die Versionsverfügbarkeit auf der Registrierungsseite der Testversion prüfen:

Die Seite „Ursprungstests in Chrome“ für „First Party-Sets“ und „SameParty“, wobei die Chrome-Verfügbarkeit hervorgehoben ist

Unter chrome://version können Sie nachsehen, welche Chrome-Version Sie verwenden.

Der Ursprungstest ist nicht durch die Chrome-Einstellungen deaktiviert

Wenn ein einzelner Nutzer meldet, dass eine Funktion für ihn nicht verfügbar ist, prüfen Sie, ob die Funktion in seinen Chrome-Einstellungen deaktiviert ist. Privacy Sandbox-Funktionen können beispielsweise auf der Seite chrome://settings/privacySandbox deaktiviert werden.

Keywords und Syntax sind korrekt

Achten Sie darauf, die richtigen Keywords und die richtige Syntax für Ursprungstesttokens zu verwenden.

Für die Nutzung durch selbst erhobene Daten kann ein Token in einem origin-trial-Meta-Tag angegeben werden:

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

Alternativ kann ein Token in einem Origin-Trial-Antwortheader angegeben werden. Hier ein Beispiel für die Verwendung von Express in Node.js:

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

Tokens können auch mit JavaScript bereitgestellt werden:

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

Eigenes Token stimmt mit Seitenursprung überein

Achten Sie darauf, dass der bei der Registrierung für einen Test ausgewählte Webursprung mit dem Ursprung der Seite übereinstimmt, die das Meta-Tag oder den Header enthält, über den das Token bereitgestellt wird.

Wenn Sie beispielsweise https://example.com als Webursprung ausgewählt haben:

Die Seite zu den Chrome-Ursprungstests, auf der https://beispiel.de als Webursprung ausgewählt ist.

Sie erhalten möglicherweise einen Tokenwert wie diesen:

Seite „Ursprungstests in Chrome“ mit Tokenwert.

Prüfen Sie, ob dieser Wert mit dem Token auf der Seite übereinstimmt, für die Sie eine Fehlerbehebung durchführen.

Prüfen Sie den HTML-Code für ein Token in einem Meta-Tag:

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

Für ein Token in einem Header können Sie den Tokenwert im Chrome-Entwicklertools-Steuerfeld "Netzwerk" unter Antwortheader prüfen:

Bereich „Netzwerk“ der Chrome-Entwicklertools mit dem Antwortheader der Ursprungstests.

Das Erstanbietertoken wird von dem Ursprung bereitgestellt, von dem es verwendet wird

Um den Zugriff auf eine Ursprungstestfunktion für Code zu ermöglichen, der auf einer Seite enthalten ist, die von Ihrem Ursprungsserver bereitgestellt wird, geben Sie ein Testtoken in einem Meta-Tag, Header oder über JavaScript desselben Ursprungs an.

Der für ein Token registrierte Ursprung muss mit dem Ursprung übereinstimmen, von dem es bereitgestellt wird.

Quelle des Drittanbietertokens stimmt mit dem Ursprung des Skripts überein

Sie können sich für die Teilnahme an einem Ursprungstest für Skripts registrieren, die von anderen Ursprüngen eingeschleust werden.

Wenn Sie beispielsweise möchten, dass Skripts, die über javascript-library.example bereitgestellt werden, an einem Ursprungstest teilnehmen, müssen Sie ein Token mit Drittanbieterabgleich für javascript-library.example registrieren.

Registrierungsseite für Chrome-Ursprungstests, auf der die Drittanbieterabgleiche ausgewählt sind.

Der Ursprungswert für ein Drittanbietertoken muss mit dem Ursprung des Skripts übereinstimmen, über das es eingeschleust wird.

Drittanbieterskript verwendet Drittanbietertoken

Sie können Drittanbieter-Skripts nicht für die Teilnahme an einem Ursprungstest auf Ihrer Website aktivieren, indem Sie einfach ein Token für Ihren Ursprung und nicht für das Skript registrieren.

Für Skripts von Drittanbietern müssen Tokens verwendet werden, bei denen der Drittanbieterabgleich aktiviert ist. Diese müssen über das Skript selbst (nicht in einem Meta-Tag oder einem Header auf Ihrer Website enthalten) mit Code wie dem folgenden eingeschleust werden:

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

Das Drittanbietertoken wird über ein externes Skript und nicht über ein Meta-Tag, einen HTTP-Header oder ein Inline-Skript bereitgestellt

Drittanbietertokens werden anhand des Ursprungs des Skripts validiert, in das sie eingeschleust wurden. Inline-Skripts und <meta>-Tags in statischem Markup haben jedoch keinen Ursprung, d. h. eine Quell-URL.

Das bedeutet, dass das Token eines Drittanbieters über ein externes Skript bereitgestellt werden muss und nicht in einem <meta>-Tag oder Inline-Skript. Dabei spielt es keine Rolle, ob das externe Skript, das das Token einschleust, von demselben Ursprung wie die enthaltende Seite oder einem anderen Ursprung stammt, solange der Ursprung des Skripts mit einem Ursprung übereinstimmt, der für den Test registriert ist.

Eine Demo dieses Vorgangs finden Sie unter ot-iframe-3p.glitch.me.

Der Zugriff auf die Funktionen des Ursprungstests wird für die Methode unterstützt, mit der ein Testtoken bereitgestellt wird

Bei einigen Zugriffsarten auf Ursprungstestfunktionen müssen Sie ein Testtoken auf eine bestimmte Weise angeben. Die einzige Möglichkeit, den Zugriff auf den Ursprungstest für Service Worker und gemeinsam genutzte Worker zu aktivieren, besteht beispielsweise darin, ein Token in einem Origin-Trial-Header bereitzustellen.

Abgleich von Subdomain ist für ein Token aktiviert, das in einer Subdomain verwendet wird

Wenn eine Funktion des Ursprungstests für einige Seiten Ihrer Website nicht funktioniert, prüfen Sie, ob Tokens für die Subdomains, die sie bereitstellen, korrekt eingerichtet sind.

Wenn Sie sich für einen Ursprungstest registrieren, können Sie optional auswählen, dass alle Subdomains des Ursprungs abgeglichen werden:

Registrierungsseite für Chrome-Ursprungstests mit ausgewählter Subdomain-Zuordnung

Sie können auch Subdomains mit Drittanbietertokens abgleichen:

Registrierungsseite für Chrome-Ursprungstests, auf der Drittanbieter-Abgleich und Subdomain-Abgleich ausgewählt sind

Für Ursprünge in der Liste der öffentlichen Suffixe werden keine Subdomain-Tokens ausgestellt. Sie können beispielsweise keinen Ursprung wie https://appspot.com oder https://github.io registrieren, aber Sie können sich für Domains innerhalb dieses Ursprungs registrieren, z. B. https://example.appspot.com oder https://example.github.io.

Das Token ist noch gültig

Tokens sind nach ihrer Erstellung sechs Wochen lang gültig. Darüber hinaus müssen Sie Feedback einreichen, um den Gültigkeitszeitraum zu verlängern. Im Leitfaden zu Ursprungstests für Webentwickler wird erläutert, wie Sie dafür sorgen, dass Ihr Token für einen gesamten Ursprungstest gültig ist.

Sie können auf der Seite „Meine Registrierungen“ Ihrer Chrome-Ursprungstests nach aktiven Tokens suchen:

Chrome-Ursprungstests
Seite „Meine Registrierungen“ mit „Gültig bis“

Wenn das Token noch gültig ist, wird in den Chrome-Entwicklertools der Status „Success“ angezeigt:

Informationen zu Ursprungstests für die Chrome-Entwicklertools im Steuerfeld „Anwendung“ mit dem hervorgehobenen Status „Status: Erfolgreich“.

Wenn dein Token abgelaufen ist, wird in den Entwicklertools der Status Expired angezeigt und auf der Seite Meine Registrierungen wird der Abschnitt Abgelaufene Tokens angezeigt.

Chrome-Ursprungstests 
Seite „Meine Registrierungen“ mit abgelaufenen Tokens.

Der Ursprungstest ist noch nicht beendet

Das Enddatum eines Ursprungstests können Sie auf der Registrierungsseite prüfen:

Seite „Ursprungstests in Chrome“ für „First-Party-Sets“ und „SameParty“. Die Details zum verfügbaren Testzeitraum sind hervorgehoben.

Bei bereits abgelaufenen Testversionen wird in den Entwicklertools etwa Folgendes angezeigt:

Chrome DevTools-Ursprungstests im Steuerfeld „Anwendung“ mit „ValidTokenNotProvided“ und „Status Abgelaufen“

Sie erhalten automatisierte E-Mails, wenn Feedback erforderlich ist oder ein Token bald abläuft. Wenn der Testzeitraum endet, erhalten Sie jedoch keine entsprechende E-Mail.

Der Ursprungstest ist für den aktuellen Nutzer verfügbar

Einige Ursprungstests sind für bestimmte Nutzer nicht verfügbar, obwohl ein gültiges Token angegeben wurde.

Wenn für den aktuellen Nutzer keine Testversion verfügbar ist, wird in den Chrome-Entwicklertools die Warnung TrialNotAllowed angezeigt:

Informationen zu Ursprungstests der Chrome DevTools im Steuerfeld „Anwendung“ mit der Warnung „TrialNotAllowed“.

Für jeden Ursprungstest werden Informationen zu Nutzungsbeschränkungen und Verfügbarkeit bereitgestellt.

Wie bei allen Webplattformfunktionen sollten Sie die Funktionserkennung verwenden, um zu prüfen, ob ein Ursprungstestfeature unterstützt wird, bevor Sie es verwenden.

Die Nutzungsbeschränkungen für den Ursprungstest wurden nicht überschritten

Standardmäßig ist ein Ursprungstestfeature auf jeder Seite aktiviert, die ein gültiges Token für den Test hat.

In seltenen Fällen ist die Nutzung des Ursprungstests auf maximal 0,5% aller Chrome-Seitenladevorgänge beschränkt. Die Funktion „Ursprungstest“ wird deaktiviert, wenn die Gesamtnutzung durch alle Chrome-Nutzer diesen Wert überschreitet. In den Entwicklertools wird der Tokenstatus als „Deaktiviert“ angezeigt.

Es gibt keine Nutzungslimits für Einstellungstests, da damit keine neuen Funktionen eingeführt werden und daher kein Risiko besteht, dass ein erheblicher Teil des Webs von einer Testfunktion abhängig ist.

Bei einigen Tests besteht auch die Möglichkeit, die Nutzung einzuschränken. Das bedeutet, dass die Features von Ursprungstests für einige Nutzer deaktiviert sind. Diese Option wird auf der Registrierungsseite eines Ursprungstests zur Verfügung gestellt, der sie anbietet:

Registrierungsseite für Chrome-Ursprungstests mit Nutzungsbeschränkungen.

Wenn Sie feststellen, dass Ihre Nutzer weniger Zugriff auf eine Ursprungstestfunktion haben als erwartet, prüfen Sie, ob „Standardlimit“ ausgewählt ist.

iFrames haben eigene Tokens.

Damit der Zugriff auf eine Ursprungstestfunktion möglich ist, muss ein iFrame ein Token in einem Meta-Tag, in einem HTTP-Header oder programmatisch bereitstellen. iFrames übernehmen keinen Zugriff auf Funktionen, die für Seiten mit ihnen aktiviert sind.

Mit ot-iframe.glitch.me wird der Zugriff auf eine Ursprungstestfunktion über einen iFrame veranschaulicht. ot-iframe-3p.glitch.me enthält mehrere Beispiele für ursprungsübergreifende iFrames.

Berechtigungsrichtlinien sind richtig konfiguriert

Einige Funktionen des Ursprungstests können durch einen Permissions-Policy-Header (früher als Feature-Policy-Header bezeichnet) beeinträchtigt werden. Sie können dies in der Testfunktion unter Intent to Experiment oder in der Entwicklerdokumentation unter web.dev oder developer.chrome.com/blog prüfen.

Das Feature, auf das Sie zugreifen möchten, darf nicht durch eine Permissions-Policy-Anweisung blockiert sein. Antwortheader findest du im Bereich „Netzwerk“ der Chrome-Entwicklertools. Die vollständige Liste der zulässigen Funktionen findest du im Bereich „Anwendung“.

Chrome-Entwicklertools im Bereich „Anwendung“ mit der Funktion „Berechtigungsrichtlinie zugelassen“.

Was ist mit den Arbeitern?

Funktionen von Ursprungstests können Service Workern, gemeinsam genutzten Workern und dedizierten Workern zur Verfügung gestellt werden. Die einzige Möglichkeit, den Zugriff für Service Worker und gemeinsam genutzte Worker zu aktivieren, besteht jedoch darin, ein Token in einem Origin-Trial-Header bereitzustellen.

Dedizierte Mitarbeiter erhalten Zugriff auf Funktionen, die über ihr übergeordnetes Dokument aktiviert wurden.

Token wird bereitgestellt, bevor auf die Funktion zugegriffen wird

Das Token für den Ursprungstest muss vor dem Zugriff auf eine Testfunktion bereitgestellt werden. Wenn eine Seite beispielsweise ein Token über JavaScript bereitstellt, achten Sie darauf, dass der Code zum Bereitstellen des Tokens vor dem Code ausgeführt wird, mit dem versucht wird, auf die Testfunktion zuzugreifen.

Ursprungstestdemos

Weitere Informationen