【发布时间】:2016-09-17 13:32:24
【问题描述】:
我导入了 Firebase JS v3 API 并使用以下方法初始化 Firebase:
firebase.initializeApp(config);
但是应用程序无法通过 localhost 上的 Web 浏览器正确加载,导致以下错误:
错误:此域未授权您的 OAuth 操作 火力基地项目。编辑授权域列表 Firebase 控制台。
firebase.js:71:1333
【问题讨论】:
我导入了 Firebase JS v3 API 并使用以下方法初始化 Firebase:
firebase.initializeApp(config);
但是应用程序无法通过 localhost 上的 Web 浏览器正确加载,导致以下错误:
错误:此域未授权您的 OAuth 操作 火力基地项目。编辑授权域列表 Firebase 控制台。
firebase.js:71:1333
【问题讨论】:
我通过将localhost 域添加到OAuth redirect domains(在Firebase 控制台的Auth 选项卡上的SETUP SIGN IN METHOD 内)解决了这个问题。
【讨论】:
确保您的配置中的“authDomain”与您的 Firebase 控制台中的一致。如果您在 localhost 上运行应用程序,请确保将其设置为 localhost 并且 localhost 存在于您的 Firebase 控制台上。
Auth -> 登录方法 -> OAuth 重定向域
var config = {
apiKey: "...",
authDomain: "...", // this should match the one on your firebase console
databaseURL: "...",
storageBucket: "",
};
firebase.initializeApp(config);
【讨论】:
如果您使用的是 Google Chrome,您会发现 Identity Toolkit API 存在问题 禁用。您需要在 google cloud 项目上启用此 API 才能在 Firebase 项目中获取 OAUTH 服务。
【讨论】:
在尝试了上面列出的所有选项以及其他网站上有关使用 FireBase oAuth 的所有选项后,对我有用的解决方案如下:
在此处找到您在连接到 FireBase 的应用中使用的 API 密钥
对于 android 或 ios 或在所有三种媒体上都有您的应用程序,您需要为每个媒体创建 API 密钥。
【讨论】:
并非真正特定于 Android,但请查看您的actionCodeSettings 中的地址。
actionCodeSettings.url 必须正确且已列入白名单。
【讨论】:
对于那些在 Heroku 中遇到此问题的人:
确保 authDomain 属性与从 Firebase 获得的值相同。
请勿将其更改为当前的 Heroku 域。
【讨论】:
以上答案都不适合我,因为我已经在授权域列表中有 localhost。对我来说,问题是 API 密钥不正确,我一定是从其中删除了其中一个字符。当我将 signInWithPopup 更改为 signInWithRedirect 时,我收到了更具描述性(或者更确切地说 - 不是误导)的错误消息。当 API 密钥过期时,可能会出现同样的问题。
【讨论】:
重点是..您必须将 yourprojectid.firebaseapp.com 域添加到授权域中..而不是您的真实域名。这对我有用。
【讨论】:
上述解决方案均不适合我,但确实如此。
127.0.0.1
localhost 已经在我的授权域中,但在我的情况下,我还需要添加 127.0.0.1
【讨论】: