我遇到了 CSP 的问题。我已经尝试将 firebase 添加到权限和沙盒中。
我正在尝试将此 firebase 示例 chrome 扩展(https://github.com/firebase/firebase-chrome-extension)转换为 chrome 打包应用程序。打包的应用程序不喜欢连接到 Firebase。我只是在控制台中不断收到安全违规行为。
我遇到了 CSP 的问题。我已经尝试将 firebase 添加到权限和沙盒中。
我正在尝试将此 firebase 示例 chrome 扩展(https://github.com/firebase/firebase-chrome-extension)转换为 chrome 打包应用程序。打包的应用程序不喜欢连接到 Firebase。我只是在控制台中不断收到安全违规行为。
我也遇到了同样的问题。似乎“ chrome packaged app ”不允许添加“content_security_policy”并重新定义 manifest.json 中的策略
尝试添加它并通过扩展管理器重新加载应用程序,您应该会看到以下消息:
尝试安装此扩展程序时出现警告:“content_security_policy”仅允许用于扩展程序和旧版打包应用程序,这是一个打包应用程序。
对于 webSdk,答案似乎是否定的,这令人惊讶。
截至目前 2017 年 10 月 3 日,firebase api 似乎依赖于浏览器 localStorage 和 document.open(可以用 polyfill 修复)。firebase 还会加载它从 Internet (yourdatabase.firebaseio.com) 下载的脚本,除非将其设置为沙盒,否则不允许对代码进行评估。然而,当它被沙盒化时,代码本身是不允许下载的。所以我放弃了。
REST api 仍然可用,尽管它有点脱离了实时体验。
去年我和 Firebase 开发团队交流,他们甚至没有意识到这个问题,他们专注于应用程序以外的扩展。请在下面找到我和 firebase 团队之间的电子邮件交流:
firebase-support@google.com 1 月 9 日
对我来说嘿鲁文斯,
感谢您的澄清。自从我查看 Chrome 扩展程序以来已经有一年多的时间了,我还没有意识到应用程序/扩展程序的差异如此之大。
我仍然认为,如果应用程序可以运行 JavaScript 或发出 REST 请求,并允许通过 Web 套接字或 HTTPS 联系外部 URL,那么将它们与 Firebase 一起使用应该是合理的。这可能需要一些摆弄,它可能会或可能不会与身份验证一起使用(尽管我猜 authWithRedirect() 应该没问题),但它肯定是可能的。
加入 Google 大家庭并没有真正改变运行 chrome 应用程序的格局——需求并不大,因此这将是像你我这样的人的个人努力,深入研究并尝试,报告特定错误,以及寻找解决方案。
如果您愿意花一些时间并分享您看到的一些错误以及一些小的重复,我很乐意排除故障并寻找一些 chrome 应用程序工程师来帮助我们找到解决方法。
☼,加藤
在 16 年 1 月 8 日 15:38:15 ruvenss@gmail.com 写道: 亲爱的加藤,
你发给我的是一个 chrome 扩展,安全协议与 chrome 应用程序完全不同,因为 2015 年 6 月 Google Chrome 团队改变了扩展程序和应用程序如何管理它们的连接的策略。
如果我在清单中使用相同的参数,我会收到此消息错误:
尝试安装此扩展程序时出现警告:“content_security_policy”仅允许用于扩展程序和旧版打包应用程序,但这是一个打包应用程序。
所以问题是,既然你们进入了 google 大家庭,那么 google-chrome 应用程序在不久的将来是否有可能成为使用 firebase 的一种方式?
因此,您可以看到这是一种耻辱,因为 firebase 将为需要外部存储的基本单用户应用程序解决很多服务器依赖性。