Electron & ReactJS, используйте BrowserWindow для аутентификации GitHub oAuth

Я установил электронный GitHub с ReactJs. Итак, я получилBrowserWindow и приложение реакции хорошо играет в этом окне. То, чего я пытаюсь достичь, это пройти аутентификацию с помощью GitHub. Поэтому, когда пользователь нажимаетLogin with Github кнопка, новыйBrowserWindow открывается и переходит на URL-адрес приложения авторизации github. У меня есть проблема, связанная сПерезвоните и как я получу код, возвращенный из обратного вызова. Я сделал это с Apache Cordova иInAppBrowser но это было иначе, так как я мог использоватьlocalhost в качестве обратного вызова.

То, что я сделал до сих пор с электроном, это открытие новогоBrowserWindow но после авторизации я не могу получить код от обратного вызова.

var authWindow = new BrowserWindow({ width: 800, height: 600, show: true, 'always-on-top': true });
var githubUrl = 'https://github.com/login/oauth/authorize?';
var authUrl = githubUrl + 'client_id=' + options.client_id + '&scope=' + options.scope;

authWindow.loadUrl(authUrl);
authWindow.setVisibleOnAllWorkspaces(true);
authWindow.setResizable(false);

authWindow.addListener('page-title-updated', function(stream) {
  console.log("LOADED");
  console.log(JSON.stringify(stream));
  console.log(stream);

  var url = (typeof stream.url !== 'undefined' ? stream.url : stream.originalEvent.url),
    raw_code = /code=([^&]*)/.exec(stream.url) || null,
    code = (raw_code && raw_code.length > 1) ? raw_code[1] : null,
    error = /\?error=(.+)$/.exec(strean.url);

  if (code || error) {
    authWindow.close();
  }

  // If there is a code in the callback, proceed to get token from github
  if (code) {
    // requestToken(code);
  } else if (error) {
    alert("Oops! Couldn't log authenticate you with using Github.");
  }
});

Где я делаюconsole.log(JSON.stringify(stream)); я получил{} так что это то, что должно сделатьeventListener? Есть идеи или лучшие подходы?

Ответы на вопрос(1)

Ваш ответ на вопрос