“用户取消了身份验证”时,从Chrome扩展程序使用AuthWithOAuthPopup
"the user cancelled authentication" when using authWithOAuthPopup from a chrome extension
我正在尝试在Chrome扩展程序中实现Firebase登录(通过Facebook)。
我在后台使用以下代码.js脚本
var ref = new Firebase("https://DB.firebaseio.com");
ref.authWithOAuthPopup("facebook", function(error, authData) {
alert(error);
});
authData 为空,显示的错误为"Firebase:用户取消了身份验证"。
使用电子邮件/密码登录似乎没有问题。
这里出了什么问题?
Chrome 浏览器可能不允许您从 Chrome 扩展程序启动弹出窗口,这是意料之中的。您看到的错误是由于弹出窗口过早关闭 - 在这种情况下,浏览器强制执行,但在其他方面与用户阻止的弹出窗口无法区分。
由于浏览器扩展没有任何"源"的概念,即它们的内容不是来自外部域的服务器,因此它们不适合 OAuth 弹出窗口和重定向流,因为身份验证应用程序无法验证访问域。
我建议在真实的托管域上创建一个网页,以配合您的扩展,并在身份验证完成后与扩展进行通信。
相关文章:
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 从选项页面更新chrome扩展清单权限
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- Chrome扩展:遍历不同的页面并收集数据
- Chrome扩展 chrome.storage 如何同时进行大量获取和设置并避免竞争条件
- Chrome扩展:Chrome.tabs.executeScript不工作
- 中的访问扩展chrome://extensions页
- 如何在扩展Chrome DevTool时检索请求的启动器
- Chrome扩展-Chrome报警API为创建的每个新报警重新安排所有报警
- 是否有任何方法来扩展chrome's __commandLineAPI
- 谷歌Chrome扩展Chrome .tab . onupdate . addlistener
- 创建在页面上注入脚本的扩展chrome内容
- Chrome扩展:Chrome扩展中未定义的变量,即使它存在于控制台中