Error de CSP al usar biblioteca de terceros en un plugin

Después de muchos intentos y enfoques diferentes, logré cargar con éxito una biblioteca de terceros para usar en mi plugin.

La biblioteca se encuentra en public/javascripts/some-library.js.

En mi controlador, puedo cargar el script con éxito a través de:

loadScript("/plugins/my-plugin/javascripts/some-library.js")

En algunas ocasiones, en ese archivo, la biblioteca crea Blobs y los asigna a variables que se están utilizando. Por ejemplo:

var A=URL.createObjectURL(new Blob(['\n\tsome code snippet...],{type:"application/javascript"}))

Y cada vez que intento usar la biblioteca en el código de mi plugin, obtengo:

Refused to load the script 'blob:http://localhost:4200/f33a6788-a853-4286-883a-48cb8e2c9cc1' because it violates the following Content Security Policy directive: "script-src http://localhost:4200/assets/ etc etc...

¿Cuál sería la mejor manera de solucionar esto?

¡Gracias por cualquier ayuda y orientación!

1 me gusta

¿Qué pasa si simplemente agregas http://localhost:4200 a la CSP?

De hecho, he intentado eso y no cambió nada :confused:

¿Qué pasa con blob:http://localhost:4200?

Intenté eso también, pero es una declaración inválida para una CSP :confused:

Para cualquiera que se encuentre con esto, la línea correcta para agregar a script src de CSP es blob:

¡Espera! No necesitas implementar CSP en desarrollo, ¿no corres riesgo de sufrir ataques?

También podría bloquear algunas herramientas de desarrollador.

Simplemente desactiva esta configuración:

Simple.

Yo pospondría este dolor de cabeza hasta que tengas un plugin funcionando y lo pruebes en un servidor de staging de producción.

De hecho, estaba en la fase de prepararlo para producción, así que este fue el último dolor de cabeza que debía resolverse. Y además, no me gusta retrasar estas cosas, especialmente cuando necesito averiguar si podrían ser un posible factor decisivo y necesito encontrar una vía completamente diferente :man_surfing:

Sí, pero deberías estar trabajando en la configuración de CSP en el servidor de staging de producción que tiene una dirección de Internet real.

¡localhost no es una dirección de Internet! :slight_smile::wink: Ni siquiera es https …

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.