Электрон: Firebase и Facebook аутентификация? - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь предоставить дополнительную аутентификацию для пользователя в приложении.С уже введенной аутентификацией по электронной почте / паролю, я также хотел добавить аутентификацию 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-extension, и веб-хранилище должно быть включено.

Это правильно, поскольку location.protocol равно file:.

Мой вопрос - как я могу сделать возможным использование авторизации Facebook / Google в приложении Electron?

1 Ответ

0 голосов
/ 21 декабря 2018

Firebase Authentication для веб-страниц таким способом не поддерживается для настольных приложений.Web SDK предназначен для работы с клиентами браузера, где пользователь может быть перенаправлен на веб-страницу, которая выполняет стороннюю аутентификацию.Это не так просто для настольных приложений javascript (Electron), которые не являются браузерами.Вы можете самостоятельно получить токен аутентификации, но клиентский SDK не сможет вам в этом помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...