Google chrome extension Firebase+;Chrome内容安全策略设置?

Google chrome extension Firebase+;Chrome内容安全策略设置?,google-chrome-extension,firebase,content-security-policy,Google Chrome Extension,Firebase,Content Security Policy,我试图在Chrome扩展背景页面中使用Firebase,但它似乎正在执行内联脚本,这是不允许的,因为安全问题 我目前已将CSP设置为: {"content_security_policy": "script-src 'self' https://cdn.firebase.com https://<my-subdomain>.firebaseio.com; object-src 'self'"} {“内容安全策略”: “脚本src'self”https://cdn.fireba

我试图在Chrome扩展背景页面中使用Firebase,但它似乎正在执行内联脚本,这是不允许的,因为安全问题

我目前已将CSP设置为:

{"content_security_policy": 
  "script-src 'self' https://cdn.firebase.com https://<my-subdomain>.firebaseio.com; object-src 'self'"}
{“内容安全策略”:
“脚本src'self”https://cdn.firebase.com https://.firebaseio.com;对象src'self'}
我可以加载初始Firebase脚本,但在调用new Firebase(“my-Firebase-url”)时,出现以下错误:

拒绝执行内联脚本,因为它违反以下条件 内容安全策略指令:“.Uncaught” ReferenceError:未定义pRTLPCB


Firebase团队(或任何人)是否可以提供任何解决方法或建议,或者解释为什么要内联执行脚本?

我也遇到了类似的问题;你看,Firebase的构造函数似乎要执行一些dom操作,以便执行一些脚本编写(我知道,很模糊),这会触发Chrome CSP,因为你不应该这么做

我甚至尝试通过包装构造函数,但没有成功(我得到一个DOM错误18,即使我的清单拥有所有权限)。如果您尝试在后台页面或页面操作/浏览器操作的弹出页面中进行包装,也会发生同样的情况

备选方案?您可以将Firebase作为内容脚本(从清单中执行)注入,并通过以Chrome.extension.sendMessage的形式发送回调。我现在正是在这样做,所以我可以告诉您,到目前为止,至少Firebase构造函数是如何工作的

解决方案?James Tampling阅读此内容并提示Firebase团队查看此内容:)

更新:将Firebase.js作为内容脚本注入也不起作用,但好消息是Firebase团队(联系Andrew Lee)正在检查它


更新2Firebase团队修复了它,现在它可以从弹出页面(无论是浏览器弹出页面还是页面操作页面)工作。您需要通过
“内容安全策略”在manifest.json中添加以下CSP:“脚本src'self”“不安全评估”https://cdn.firebase.com https://*.firebaseio.com https://*.firebaseio.com;对象src“self”;“
之后,它的效果非常好。

在提出问题时,有一个bug阻止Firebase在Chrome扩展中工作,但现在已经修复

正确的顾客服务提供商是:

"content_security_policy": "script-src 'self' https://cdn.firebase.com https://*.firebaseio.com; object-src 'self'"
(请注意,域中的通配符很重要,因为Firebase可能会在内部连接到其他子域。)


有关使用Firebase的chrome扩展的示例,请参见:。

我有一个cordova js应用程序,只有下面的一个可用:

<meta http-equiv="Content-Security-Policy" content="

  default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval';
  script-src  'self' https://www.gstatic.com https://cdn.firebase.com https://*.firebaseio.com; object-src 'self';

  " />


希望这能有所帮助。

啊,我知道我不是唯一一个。是的,问题是Firebase构造函数在调用(console.log)新Firebase(URL)时正在执行一些古怪的魔术我想知道我的意思。遗憾的是,内容方面也没有成功-我仍然得到以下信息:
拒绝加载脚本的内容https://auth.firebase.com...
但添加
https://auth.firebase.com
到CPS似乎解决了这个问题。我已经寻找了几个星期的解决方案,我忘记添加cdn.firebase.com,strange,因为我在源代码中没有看到对它的引用