【问题标题】:Chrome Extension auth/network-request-failed when communicating with Firebase与 Firebase 通信时 Chrome 扩展 auth/network-request-failed
【发布时间】:2016-10-12 09:26:48
【问题描述】:

我正在尝试将Firebase E-Mail login 实现到我的扩展中。从扩展 popup.html,我调用我的 login.html,它处理这个过程,它看起来像这样:

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
          var errorCode = error.code;
          var errorMessage = error.message;
          if (errorCode === 'auth/wrong-password') {
            alert('Wrong password.');
          } else {
            console.error(error); //This produces the error quoted below
          }
        });

当我只是在本地打开我的 login.html 时,它可以工作。从扩展弹出窗口调用它会使其无法正常工作,并且出现错误:

“身份验证/网络请求失败”

我假设 Chrome 会阻止我的脚本与服务器通信。有解决方法吗?在文档中找不到任何解决方案。这不是我已经修复的内容安全策略。

---- 更新

在 Firebase 现在发布 3.0.5 之后,我现在遇到了另一个错误:

“授权/太多请求”

【问题讨论】:

  • 你是如何解决这个问题的?
  • @Adamnick 还在等待新的SDK,看看下面的答案。
  • 我有一个不同的问题,我在不同的页面中配置 API,所以它没有被包含在内。谢谢

标签: javascript google-chrome-extension firebase firebase-authentication


【解决方案1】:

这个问题的修复应该会在本周的下一个 js 版本 3.0.5 中发布。 还要确保您可能已经配置了 manifest.json 文件,使用以下最低设置:

"content_security_policy": "script-src 'self' https://apis.google.com https://www.googleapis.com https://securetoken.googleapis.com; object-src 'self'", 
"permissions": ["https://*/*","activeTab"]

【讨论】:

  • 感谢您的回复。但是,3.0.5 现在会导致另一个错误:“auth/too-many-requests”
  • 这是防止滥用的安全预防措施。您必须在短时间内发送大量登录请求。检查您的网络日志以确认。尝试等待几分钟,然后重试。
  • @bojeil 你拯救了我的一天!我尝试通过弹出窗口与 google 进行身份验证,甚至在 firebase sample 的 manifest.json 中也缺少 url。
猜你喜欢
  • 1970-01-01
  • 2021-07-15
  • 2016-12-16
  • 1970-01-01
  • 2017-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
相关资源
最近更新 更多