为什么我的Firebase Google Auth弹出窗口立即关闭?

时间:2019-03-19 21:23:22

标签: firebase firebase-authentication google-authentication

我正在追踪this tutorial以学习Firebase。我克隆了the repo。在第7步中,我按其说的做(尽管实际上,这里无事可做,因为步骤已在存储库中完成)。当我单击用户界面中的[使用GOOGLE登录]按钮时,身份验证窗口会弹出并立即关闭。

我正在VMWare中的Ubuntu Guest中进行开发。在Firebase控制台中,以下域已为此应用授权:

  • 本地主机
  • blahblah.firebaseapp.com
  • 127.0.0.1
  • <我的访客IP>
  • <我的主机/公共IP>

firebase网站说在这里询问。我searched thouroughly首先,其他(很少)发布的解决方案无效。

有人可以告诉我为什么会这样吗?

2 个答案:

答案 0 :(得分:0)

很抱歉,您的回复很晚,即使您决定进一步寻求其他服务提供商的帮助,以下内容也可能对遇到相同问题的其他人有所帮助。

由于错误,您可以在此处使用步骤5捕获错误,弹出窗口可能在打开后立即关闭:https://firebase.google.com/docs/auth/web/google-signin

这是一个简短的代码片段,只需在public / scripts / main.js中修改signInWithPopup函数即可:

firebase.auth().signInWithPopup(provider).then(function(result) {
  // code which runs on success
}).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  console.log(errorCode);
  alert(errorCode);

  var errorMessage = error.message;
  console.log(errorMessage);
  alert(errorMessage);
});

以我的经验,errorCode可能类似于“ auth / unauthorized-domain”,而errorMessage可能指向您要从中访问的受限域: “没有授权此域(127.0.0.1)运行此操作。将其添加到Firebase控制台->身份验证部分->登录方法标签中的OAuth重定向域列表中。”

对我来说,解决方案是使用localhost:8080而不是127.0.0.1:8080,但是也可以使用errorMessage中的说明将127.0.0.1添加到受信任的域中。

您的错误可能有所不同,但希望它有助于调试。谢谢。

答案 1 :(得分:0)

我也发生了同样的事情。 AlexZ005提供的调试代码帮助我解决了问题。

问题是我的浏览器不允许使用第三方Cookie。我允许他们使用,现在可以了。