我正在尝试为应用内的用户提供其他身份验证。在已经实现了电子邮件/密码身份验证的情况下,我也想添加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,但由于它显示以下消息,因此我无法打开Google / Facebook身份验证:
在运行该应用程序的环境中不支持此操作。 “ location.protocol”必须为http,https或chrome-extension,并且必须启用网络存储。
这是正确的,因为location.protocol
等于file:
。
我的问题是-如何使在Electron应用程序中使用Facebook / Google身份验证成为可能?
答案 0 :(得分:0)
桌面应用程序不以这种方式支持Web的Firebase身份验证。 Web SDK旨在用于浏览器客户端,可以在其中将用户重定向到执行第三方身份验证的网页。对于不是浏览器的桌面javascript(电子)应用程序,这并不是那么容易。您可以随意尝试以某种方式获取身份验证令牌,但是客户端SDK无法帮助您。