电子:Firebase和Facebook身份验证?

时间:2018-12-21 19:45:27

标签: javascript firebase firebase-authentication electron

我正在尝试为应用内的用户提供其他身份验证。在已经实现了电子邮件/密码身份验证的情况下,我也想添加Facebook / Google身份验证。

我尝试过使用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,
    },
  ],
});

虽然在传递的selector中正确呈现了UI,但由于它显示以下消息,因此我无法打开Goog​​le / Facebook身份验证:

  

在运行该应用程序的环境中不支持此操作。 “ location.protocol”必须为http,https或chrome-extension,并且必须启用网络存储。

这是正确的,因为location.protocol等于file:

我的问题是-如何使在Electron应用程序中使用Facebook / Google身份验证成为可能?

1 个答案:

答案 0 :(得分:0)

桌面应用程序不以这种方式支持Web的Firebase身份验证。 Web SDK旨在用于浏览器客户端,可以在其中将用户重定向到执行第三方身份验证的网页。对于不是浏览器的桌面javascript(电子)应用程序,这并不是那么容易。您可以随意尝试以某种方式获取身份验证令牌,但是客户端SDK无法帮助您。