Ionic Framework 和 Firebase 3.x 版本:此域未授权您的 Firebase 项目的 OAuth 操作
Posted
技术标签:
【中文标题】Ionic Framework 和 Firebase 3.x 版本:此域未授权您的 Firebase 项目的 OAuth 操作【英文标题】:Ionic Framework and Firebase 3.x version: This domain is not authorized for OAuth operations for your Firebase project 【发布时间】:2016-09-18 16:18:09 【问题描述】:我正在使用 Ionic Framework 和 Firebase 开发 ios 应用。我已在我的项目中将 Firebase SDK 更新为 3.x 版。我要做的是在真实设备上使用 Facebook 对用户进行身份验证。当我在浏览器上测试它时一切正常。但是,每当我在真正的 iOS 设备上运行时,总是会收到以下错误:
此域无权对您的 Firebase 项目进行 OAuth 操作。从 Firebase 控制台编辑授权域列表。
在 Firebase 上,我已经将“localhost”和“127.0.0.1”添加到我的授权域列表中。所以我不确定现在该怎么做。
为了您的信息,我没有在我的项目中使用 WKWebView。
这里有人可以告诉我如何解决这个问题吗?请指教。
【问题讨论】:
我认为我们应该在 Firebase 的“OAuth 重定向域”部分添加应用程序的域,但我不知道在设备上运行时哪个是应用程序的域。 - document.location.host 和 window.location.host 为空白 您需要更新来自 firebase 文档的 instructions 之后的所有内容! Credits 在 android 或 iOs 平台上的 React-native 中面临同样的问题。 【参考方案1】:错误"This domain is not authorized for OAuth operations for your Firebase project. Edit the list of authorized domains from the Firebase console."
只会阻止signInWithPopup()
signInWithRedirect()
linkWithPopup()
和linkWithRedirect()
操作工作。其他所有功能,包括 signInWithCredential()
,都应该可以工作。
我相信您看到此错误是因为 ionic 应用程序没有真正的域,这是我上面提到的 4 个功能的要求。
解决您的问题的方法是忽略该错误(它只是提供信息)而不使用signInWithPopup
signInWithRedirect
linkWithPopup
或linkWithRedirect
。相反,请使用诸如 ngCordovaOAuth 之类的 OAuth 库,然后使用 auth().signInWithCredential(...)
(请参阅 Twitter here 的示例说明)。
【讨论】:
你说得对,这行得通。我更喜欢使用插件来提示本地登录,例如 cordova-plugin-facebook4 或 twitter-connect-plugin。如果有一个解决方法可以在不安装插件的情况下使用 Firebase 的 v3 登录。 很高兴它成功了!当然,这是一个非常有趣的功能请求,我会将其传递给团队。 是的,这行得通。非常感谢 alfongj。我还发送了一封电子邮件向 Firebase 询问此问题,他们也建议使用 Oauth 库,然后使用 signInWithCredential()。供您参考,已提交有关此问题的功能请求。 =) 很高兴听到!您能否将此标记为已接受的答案,以便其他开发人员在搜索时找到它? Firebase 仍未解决此问题。我不想安装科尔多瓦插件只是为了让它工作。尝试使用 JUST firebase 通过社交网络进行身份验证时,将 firebase 与任何混合风格的应用(cordova、ionic、phonegap 等)一起使用都会失败。【参考方案2】:我有同样的问题,但我通过创建新的 firebase 项目解决了它。
【讨论】:
我试过你的方法,但没有得到任何运气。我正在使用 Ionic v.1.7.14 和 Firebase 3.x。在 iOS 上调用 firebase.auth().signInWithPopup(provider) 时,会出现一个新的弹出窗口,然后立即消失。 =(【参考方案3】:好的,这是我的临时解决方案:
我在我的 ionic 项目中同时导入 Firebase SDK v.2.x 和 Firebase SDK 3.x。我在 iOS 上使用 2.x 版进行 Facebook 身份验证,然后使用 3.x 版来访问 Firebase 上的所有新功能,例如存储等。
希望这会有所帮助。
【讨论】:
以上是关于Ionic Framework 和 Firebase 3.x 版本:此域未授权您的 Firebase 项目的 OAuth 操作的主要内容,如果未能解决你的问题,请参考以下文章
十分钟使用ionic Framework开发一个跨平台移动应用
sh Ionic Framework的Ubuntu开发人员脚本
Ionic Framework 和 Firebase 3.x 版本:此域未授权您的 Firebase 项目的 OAuth 操作
Ionic Framework - 上传到 Ionic View 应用程序,没有获取最新的 javascript 文件,可能缓存仍然存在?