Firebase身份验证错误身份验证/网络请求失败

时间:2019-11-15 16:41:15

标签: javascript firebase firebase-authentication

我正在使用Firebase身份验证Web SDK,这是我的代码:

<!doctype html>
<html>

<head>
  <meta charset='utf-8' />


  <!-- Firebase -->
  <script src="https://www.gstatic.com/firebasejs/7.4.0/firebase.js"></script>

</head>

<body>
  <button onclick="googleSignin()">Google Signin</button>
  <button onclick="googleSignout()">Google Signout</button>

  <script>
    // Your web app's Firebase configuration
    var firebaseConfig = {
      apiKey: "someapikey",
      authDomain: "something.firebaseapp.com",
      databaseURL: "https://something.firebaseio.com",
      projectId: "something",
      storageBucket: "something.appspot.com",
      messagingSenderId: "123123123",
      appId: "1:106574789123:web:f8afd31e97bdb418cc2345"
    };

    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
    var provider = new firebase.auth.GoogleAuthProvider();

    function googleSignin() {
      firebase.auth()

      .signInWithPopup(provider).then(function(result) {
        var token = result.credential.accessToken;
        var user = result.user;

        console.log(token)
        console.log(user)
      }).catch(function(error) {
        var errorCode = error.code;
        var errorMessage = error.message;

        console.log(error)
        console.log(error.message)
      });
    }

    function googleSignout() {
      firebase.auth().signOut()

      .then(function() {
        console.log('Signout Succesfull')
      }, function(error) {
        console.log('Signout Failed')
      });
    }
  </script>

</body>

</html>

上面的代码只是在单击Google登录按钮时打开一个弹出窗口,该弹出窗口突然消失并在控制台中显示此错误:

{
   code: "auth/network-request-failed"
   message: "A network error (such as timeout, interrupted connection or unreachable host) has occurred."
}

我搜索了此错误并尝试了各种解决方案,但没有任何效果。我的Google登录从Firebase控制台启用,并且该域(run.plnkr.co)已添加到允许的域列表中。

还尝试将type="button"添加到按钮上,但仍然没有用。然后尝试onclick="googleSignin(): return false"。结果也一样。

我的网络很好,firebase匿名登录也很好。

Here是我为其创建的plunkr的链接。您只需要用here所示的firebase凭证替换即可。

编辑:

我为此使用了chrome,但它不起作用。但是在Firefox上它可以工作。根据{{​​3}},回答由于CORS问题。但是我在文档中找不到任何提及的地方。我在做其他错误的事吗?

0 个答案:

没有答案