在 Electron 中使用 Firebase

新手上路,请多包涵

我正在尝试将 Firebase 与 Electron 一起使用。当我像在网页上一样安装它时,它不起作用,因为 Electron 页面在本地托管并且没有 hostname 。这是我得到的错误…

 Uncaught Error: This domain is not authorized for OAuth operations for your Firebase project. Edit the list of authorized domains from the Firebase console.

我无法将空(或通配符)授权域添加到 Firebase 控制台,因此我被卡住了。有人对如何解决这个问题有任何想法吗?

编辑:这是我正在使用的代码,它只是标准样板,没有额外的……

 <script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js"></script>
<script>
  var config = {
    apiKey: "AIzaSyBvmmPB0_Oddc-02cUj3Ntt3wi8jSxxxx",
    authDomain: "xxxxx-d24ad.firebaseapp.com",
    databaseURL: "https://xxxxx-d24ad.firebaseio.com",
    storageBucket: "",
  };
  firebase.initializeApp(config);
</script>

原文由 DaveJ 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 679
2 个回答

现在,您可以通过从配置中删除 authDomain 行来抑制此错误。 Auth signInWithPopup/signInWithRedirect 操作需要 authDomain,但其他一切都应该有效。

仅当您实际尝试执行 signInWithPopup/Redirect 时才会抛出该错误的库版本正在开发中。

原文由 Channing Huang 发布,翻译遵循 CC BY-SA 3.0 许可协议

我不知道这是否是最佳解决方案,但它是一种解决方法。

使用简单的快速服务器创建文件 server.js

“服务器.js”

 var express = require('express');
var http = require('http');
var path = require('path');

var appServer = express();
appServer.use(express.static(path.join(__dirname, '')));

appServer.get('*', (req, res) => {
    res.sendFile(__dirname + 'index.html');
});

http.createServer(appServer).listen(3007, function() {
    console.log('Express server listening on port');
});

在你的 main.js(electron-main-js-file)

在 main.js 的顶部启动节点服务器

require('./server');

并更改“win.loadURL”

 win.loadURL('http://localhost:3007');

我已经 fork 你的项目并实现了,firebase 的错误消失了,但 jQuery 没有定义,我想你可以解决这个问题。

https://github.com/diegoddox/sad-electron-firebase-error

原文由 diegoddox 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题