我试图让firebase auth使用电子。我已经将它与iOS和Android配合使用,并希望在应用程序的桌面版本中使用它。
我主要尝试的是谷歌登录。使用firebase的网络版本最终导致localhost无法接受登录失败。我试过了node.js代码的版本,但我也无法正常工作。
谷歌:https://www.google.com/search?q=firebase+auth+electron
你会看到我所尝试过的所有内容以及我查看过的所有stackoverflow问题。有人说他们有工作,但我没有发现任何有效的例子。这是一个失败的原因还是有人指出我正确的方向?
很多人似乎都有同样的问题,但没有答案。
答案 0 :(得分:0)
Firebase Auth + Electron =很难!
我得到这个工作的一种方法是通过Electrons main.js通过http提供html和javascript。确保使用localhost而不是127.0.0.1,然后Firebase通过web(而不是node.js)的Google Signin应该可以使用。
答案 1 :(得分:0)
您必须在主窗口的var stylesheet = document.createElement("link");
stylesheet.rel = "stylesheet";
stylesheet.type = "text/css";
stylesheet.href = "your_file.css";
document.head.appendChild(stylesheet);
内将nativeWindowOpen
设置为true
。像这样:
webPreferences
答案 2 :(得分:0)
您可以寻找的是可以满足您的需求但不能完全满足您需求的东西。虽然google登录模块很难说到电子,但我已经发现将createUserWithEmailAndPassword函数与Firebase auth结合使用是成功的,请确认
答案 3 :(得分:0)
在将Firebase和electronic.js与React.js连接时,我遇到了同样的问题,但是有一种简单的方法可以让您使用Firebase弹出式身份验证。在主过程中创建新的browserWindow时。在 webPreferences 对象下,添加或设置属性 nativeWindowOpen 为true。 确保您的webPreferences对象的nativeWindowOpen属性设置为true。
示例
window = new electron.BrowserWindow({
width: 1200,
height: 650,
webPreferences:{
nodeIntegration: true,
enableRemoteModule: true,
nativeWindowOpen: true, // this allows you to use popups when doing authentication using firebase in an electron app
}
})
祝你好运✔✔✨✨