Javascript Electron:Firebase和Facebook认证?
我正在尝试为应用程序中的用户提供附加身份验证。由于已经实现了电子邮件/密码身份验证,我还想添加Facebook/Google身份验证 我已尝试使用Javascript Electron:Firebase和Facebook认证?,javascript,firebase,firebase-authentication,electron,Javascript,Firebase,Firebase Authentication,Electron,我正在尝试为应用程序中的用户提供附加身份验证。由于已经实现了电子邮件/密码身份验证,我还想添加Facebook/Google身份验证 我已尝试使用firebaseui: const ui = new firebaseui.auth.AuthUI(firebase.auth()); ui.start(selector, { callbacks: { signInSuccessWithAuthResult(authResult) { that.handleAuthentica
firebaseui
:
const ui = new firebaseui.auth.AuthUI(firebase.auth());
ui.start(selector, {
callbacks: {
signInSuccessWithAuthResult(authResult) {
that.handleAuthentication(authResult);
return false;
},
},
credentialHelper: firebaseui.auth.CredentialHelper.NONE,
signInFlow: 'redirect',
signInOptions: [
{
provider: firebase.auth.EmailAuthProvider.PROVIDER_ID,
},
{
provider: firebase.auth.GoogleAuthProvider.PROVIDER_ID,
},
{
provider: firebase.auth.FacebookAuthProvider.PROVIDER_ID,
},
],
});
虽然UI在传递的选择器中正确呈现,但我无法打开Google/Facebook身份验证,因为它会显示以下消息:
运行此应用程序的环境不支持此操作。“location.protocol”必须是http、https或chrome扩展,并且必须启用web存储
这是正确的,因为location.protocol
等于文件:
我的问题是-如何在电子应用程序中使用Facebook/Google auth?桌面应用程序不支持Firebase web身份验证。web SDK用于浏览器客户端,用户可以重定向到执行第三方身份验证的网页。这对于不是浏览器的桌面javascript(Electron)应用程序来说并不容易。您可以自行尝试获取身份验证令牌,但客户端SDK无法帮助您实现这一点。我是否可以为此目的从Electron应用程序中打开浏览器窗口?我不知道,我以前从未使用过election。电子应用程序中的浏览器窗口是否可以用于此目的?@AbhijitSrivastava不幸的是,没有,但我所做的是创建了一个用于身份验证的简单网站,并使用websockets将该应用程序与之连接。好的,谢谢,我希望有一天谷歌会将其包括在内。