我正在追踪this tutorial以学习Firebase。我克隆了the repo。在第7步中,我按其说的做(尽管实际上,这里无事可做,因为步骤已在存储库中完成)。当我单击用户界面中的[使用GOOGLE登录]按钮时,身份验证窗口会弹出并立即关闭。
我正在VMWare中的Ubuntu Guest中进行开发。在Firebase控制台中,以下域已为此应用授权:
firebase网站说在这里询问。我searched thouroughly首先,其他(很少)发布的解决方案无效。
有人可以告诉我为什么会这样吗?
答案 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。我允许他们使用,现在可以了。