Como ya sabemos, PWA Studio y Magento, se comunican gracias al recurso UPWARD, separando por completo lo que es Magento, dejándolo como servidor, de la PWA como Headless para el cliente, con lo cual, las restricciones de librerías externas y la seguridad correrá por cuenta de la PWA.
¿Que ocurre?
Para ello, la PWA Studio, dispone de una extensión, insertada en su propio package, llamada upward-security-headers. En la que podemos ver el siguiente fichero upward.yml
En pocas palabras, aquí lo importante en este caso sería esto:
Bien podemos ver aquí, que dan permisos a la inserción de script-src solo a nuestro Backend (al magento2).
¿Cómo solucionamos esto?
En nuestro proyecto debemos de tener un local-intercept.js, si no es el caso, os recomiendo echar un vistazo a esta parte de la doc de Magento Targets and Targetables.
Pero, lo normal es tener un interceptor en nuestro proyecto, podemos ver la ruta de este fichero en el package.json, que es donde se tuvo que haber definido.
En el local-intercept.js debemos añadir la siguiente función js:
Este método, básicamente, lo que estaría haciendo es, sustituir el veniaSecurityHeaders de la extensión de la PWAStudio por nuestros propios parámetros de seguridad.
Después de esto, actualizaremos el upward.yml de nuestro proyecto, añadiendo justamente, el nombre que le hayamos dado anteriormente, en mi caso lo he llamado customSecurityHeaders:
Resultado
Después de hacer esto, el resultado que deberíamos ver, es cómo se ejecutan los scripts de analítica y gtm en el proyecto, así como poder tener acceso a los datos de navegación.