Des cookies... pas trop restreints pour le coup !

24 février 2020 : Internet bouge, XMPie ne vous laisse pas tomber

Contexte

Cet article va intéresser les clients XMPie ayant un portail d'impression en ligne uStore intégré à d'autres applications.

Récemment, les principaux navigateurs ont renforcé leur sécurité vis-à-vis des cookies.

Lorsque la page d'un site Internet affiche la page d'un autre site Internet à l'intérieur d'une iFrame alors que les deux sites (le site "principal" et le site "inclus") sont dans des domaines différents, le site "inclus" (celui qui est dans l'iFrame) est considéré comme étant un tiers et, de ce fait, se voit maintenant refuser l'accès aux cookies du navigateur (cela n'arrive pas quand le site "principal" et le site "inclus" sont dans le même domaine).

Une partie des fonctionnalités du site en question peut ainsi être bloquée ou altérée, ce qui va rendre disgracieuse ou impossible la navigation de vos clients et peut les empêcher de passer commande.

Vous trouverez un complément d'informations techniques à ce sujet sur ce lien (en) (indépendant que XMPie et de west-digital.fr).

Pour ce qui concerne l'impression en ligne XMPie, cela peut avoir un impact dans deux types d'intégrations uStore :

  • lorsque uStore (l'application XMPie, ici dans le rôle du site "principal") ouvre une iFrame sur un site externe ; par exemple : lors de l'appel à un service de paiement en ligne ; lors de l'appel d'un service d'obtention de listes de destinataires pour un publipostage ; lors de l'appel à une vidéo explicative hébergée chez Youtube
  • lorsqu'une application de eCommerce telle que Magento, Prestashop, WordPress/Woocommerce, etc. fait appel à uStore à l'intérieur d'une iFrame, afin de mettre en vente le processus de personnalisation de documents XMPie sur un portail marchand (l'application XMPie a ici le rôle de site "inclus")

Solutions

  • si possible (et il est parfaitement évident que ce luxe n'est pas toujours possible) : utiliser le même nom de domaine pour le site "principal" et le site "inclus"
  • si possible (idem) : envisager une autre approche que l'iFrame ; par exemple : la redirection du site "principal" vers le site "inclus" (mais cela va, à l'issue, nécessiter un "retour à l'envoyeur")
  • si aucune de ces deux alternatives n'est possible (nous admettrons que c'est souvent le cas), on pourra paramétrer le site "principal" pour "faire confiance" au site "inclus" ; pour ce faire, dans uStore Admin (version 12.1 ou supérieure), allez dans "Outils > Paramétrage du système > Global Configurations" puis ajoutez une clé obligatoirement appelée "SuppressCookieSameSiteRestriction" (*) et indiquez "True" comme valeur.

    Paramétrage de la clé SuppressCookieSameSiteRestriction dans XMPie uStore Admin
    (*) Modification du 6/03/2020 : la clé doit s'appeler ainsi et non SuppressCookieSiteRestriction comme indiqué par erreur dans la première version de cet article.

    Restrictions connues

    • le site "principal" et le site "inclus" doivent être en HTTPS.
    • si deux sites "inclus" sont dans le même domaine (par exemple : deux magasins uStore), il ne sera pas possible de naviguer vers les deux magasins en même temps dans le même navigateur, sauf s'ils utilisent tous les deux HTTPS.
    Si vous souhaitez utiliser un magasin sans HTTPS, vous devrez utiliser un nom de domaine ou de sous-domaine différent.
Pas encore en uStore 12.1 ? Toujours pas clair ?