Détecter la disponibilité des cookies tiers dans Chrome

Chrome a proposé une nouvelle expérience qui permet aux utilisateurs de choisir comment les cookies tiers sont gérés lorsqu'ils naviguent. Les sites et les services peuvent avoir besoin de détecter si les cookies tiers sont disponibles ou non dans un contexte donné. Chrome dispose de deux méthodes principales pour détecter l'accès aux cookies tiers pour le contenu intégré: la méthode JavaScript hasStorageAccess et l'observation des en-têtes Sec-Fetch-Storage-Access.

La Privacy Sandbox a introduit des API pouvant accorder à des cadres spécifiques l'accès à des cookies tiers si certaines conditions sont remplies. Il est donc important de pouvoir détecter l'accès aux cookies non partitionnés par intégration.

Détecter l'accès aux cookies tiers dans les iFrames

Lorsque le contenu d'un iframe est hébergé sur un site différent de celui affiché dans la barre d'adresse de l'utilisateur, il est considéré comme intersite et les cookies tiers peuvent être limités. L'iFrame peut détecter si elle a actuellement accès aux cookies tiers en appelant await document.hasStorageAccess(). Cette méthode renvoie true ou false, selon que le frame a accès ou non aux cookies non partitionnés.

Si votre iFrame utilise l'API Storage Access (SAA) pour accéder aux cookies intersites non partitionnés (à l'aide de SAA seule ou avec des ensembles de sites Web associés), vous pouvez vérifier l'autorisation storage-access pour déterminer si le frame peut activer l'accès aux cookies non partitionnés.

Détecter l'accès aux cookies tiers dans les requêtes HTTP

À partir de Chrome 133, l'en-tête Sec-Fetch-Storage-Access est envoyé avec les requêtes d'identification pour indiquer au serveur si son contexte d'appel a accès ou non aux cookies non partitionnés. Cet en-tête contient l'une des trois valeurs suivantes:

  • none: l'intégration n'a pas accès aux cookies non partitionnés
  • inactive: l'intégration est autorisée à accéder aux cookies non partitionnés, mais elle ne l'a pas activé
  • active: l'intégration a accès aux cookies non partitionnés

Conditions permettant d'accorder aux éléments intégrés l'accès aux cookies non partitionnés

L'accès aux cookies tiers non partitionnés peut être accordé de plusieurs manières pour prendre en charge les cas où ces cookies fournissent des fonctionnalités nécessaires. Les méthodes suivantes permettent d'accorder un accès aux cookies non partitionnés. Dans certains cas, requestStorageAccess() ou requestStorageAccessFor() doivent être appelés avant que l'accès ne soit accordé.

Méthode Exemple Dois-je appeler requestStorageAccess ?
Invite de l'API Storage Access L'utilisateur est invité à autoriser l'accès à l'espace de stockage et sélectionne "Autoriser". Oui
Gestion des identifiants fédérés L'utilisateur se connecte avec un fournisseur d'identité (IdP) fédéré. Le frame de l'IdP demande l'accès au stockage. Oui
Ensembles de sites Web associés L'élément intégré et l'intégrateur appartiennent à la même RWS. Oui
3 PC activés dans les paramètres utilisateur L'utilisateur choisit d'autoriser les cookies tiers pour l'ensemble de sa navigation ou uniquement pour une origine spécifique. Non
Exceptions basées sur des heuristiques Chrome détecte un modèle heuristique et accorde automatiquement l'accès aux cookies non partitionnés. Un appel à requestStorageAccess() n'est pas nécessaire. Non
Exceptions temporaires (par exemple, délai de grâce) Le site ou le service a souscrit une exception Chrome temporaire pendant la transition vers une solution plus durable. Non
Règles d'entreprise L'administrateur Chrome Enterprise d'une entreprise a choisi d'autoriser les 3PC sur tout ou partie du trafic. Non