代码之家  ›  专栏  ›  技术社区  ›  mdmb

电子:Firebase和Facebook认证?

  •  2
  • mdmb  · 技术社区  · 6 年前

    我正在尝试为应用程序中的用户提供附加身份验证。由于email/password auth已经实现,我还想添加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 ,我无法打开Google/Facebook身份验证,因为它会显示以下消息:

    在运行此应用程序的环境中不支持此操作。“location.protocol“必须是http、https或chrome扩展,并且必须启用web存储。

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

    我的问题是-我怎样才能在电子应用程序中使用Facebook/Google auth?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Doug Stevenson    6 年前

    桌面应用程序不支持Firebase web身份验证。web SDK旨在为浏览器客户端工作,用户可以重定向到执行第三方身份验证的web页面。对于不是浏览器的桌面javascript(Electron)应用程序来说,这并不容易。您可以自行尝试获取身份验证令牌,但客户端SDK无法帮助您实现这一点。